<html>
<head><meta charset="utf-8"><title>weekly meeting · project-ffi-unwind · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/index.html">project-ffi-unwind</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html">weekly meeting</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="179555807"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179555807" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179555807">(Oct 31 2019 at 17:36)</a>:</h4>
<p>Hey <span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> -- are we going to have a sync this week?</p>



<a name="179556019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556019">(Oct 31 2019 at 17:38)</a>:</h4>
<p>er, I see <span class="user-mention" data-user-id="120076">@Kyle Strand</span> you wrote a few comments in the "lang team sync" topic...</p>



<a name="179556031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556031">(Oct 31 2019 at 17:38)</a>:</h4>
<p>let's use this one for weekly meetings instead? seems like a better name :)</p>



<a name="179556045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556045">(Oct 31 2019 at 17:38)</a>:</h4>
<p>so where are we at</p>



<a name="179556133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556133">(Oct 31 2019 at 17:39)</a>:</h4>
<p>I guess <span class="user-mention" data-user-id="120076">@Kyle Strand</span> I should just merge <a href="https://github.com/rust-lang/project-ffi-unwind/pull/16" target="_blank" title="https://github.com/rust-lang/project-ffi-unwind/pull/16">https://github.com/rust-lang/project-ffi-unwind/pull/16</a> ?</p>



<a name="179556284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556284">(Oct 31 2019 at 17:40)</a>:</h4>
<p>Sounds good!</p>



<a name="179556402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556402">(Oct 31 2019 at 17:42)</a>:</h4>
<p>I think this is basically the same content as <a href="https://github.com/rust-lang/rfcs/pull/2797" target="_blank" title="https://github.com/rust-lang/rfcs/pull/2797">https://github.com/rust-lang/rfcs/pull/2797</a>, right?</p>



<a name="179556459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556459">(Oct 31 2019 at 17:42)</a>:</h4>
<p>I feel like the PR is close to having agreement, which is nice (I am guessing Centril is holding off on approving until the scope questions are addressed)</p>



<a name="179556477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556477">(Oct 31 2019 at 17:42)</a>:</h4>
<p>I haven't revisited since my last round of comments</p>



<a name="179556488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556488">(Oct 31 2019 at 17:42)</a>:</h4>
<p>did you modify the text at all in response to those?</p>



<a name="179556492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556492">(Oct 31 2019 at 17:42)</a>:</h4>
<p>I should check</p>



<a name="179556531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556531">(Oct 31 2019 at 17:43)</a>:</h4>
<blockquote>
<p>I guess <span class="user-mention silent" data-user-id="120076">Kyle Strand</span> I should just merge <a href="https://github.com/rust-lang/project-ffi-unwind/pull/16" target="_blank" title="https://github.com/rust-lang/project-ffi-unwind/pull/16">https://github.com/rust-lang/project-ffi-unwind/pull/16</a> ?</p>
</blockquote>
<p>You should always merge my PRs <span aria-label="wink" class="emoji emoji-1f609" role="img" title="wink">:wink:</span></p>



<a name="179556549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556549">(Oct 31 2019 at 17:43)</a>:</h4>
<p>No, I haven't made any modifications since then</p>



<a name="179556555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556555">(Oct 31 2019 at 17:43)</a>:</h4>
<blockquote>
<p>haven't written anything up yet, but my "summarizing discussions" file and the new PR itself might be sufficient anyway</p>
</blockquote>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> which "summarizing discussions" file did you mean? oh, the one that summarized all of zulip?</p>



<a name="179556559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556559">(Oct 31 2019 at 17:43)</a>:</h4>
<p>But those were the only two outstanding concerns</p>



<a name="179556565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556565">(Oct 31 2019 at 17:43)</a>:</h4>
<p>yep</p>



<a name="179556579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556579">(Oct 31 2019 at 17:43)</a>:</h4>
<p>ok, I feel like there was <em>some</em> discussion I thought would be good to summarize specifically..not sure which it was now :)</p>



<a name="179556675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556675">(Oct 31 2019 at 17:44)</a>:</h4>
<p>"catching foreign exceptions", that topic</p>



<a name="179556703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556703">(Oct 31 2019 at 17:44)</a>:</h4>
<p>I guess the other lang team update is that we've extended the set of arguments somewhat around "C unwind" vs "C noexcept" etc</p>



<a name="179556756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556756">(Oct 31 2019 at 17:45)</a>:</h4>
<p>Yes</p>



<a name="179556879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556879">(Oct 31 2019 at 17:46)</a>:</h4>
<p>oh I see there have been some new additions as well</p>



<a name="179556912"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556912" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556912">(Oct 31 2019 at 17:46)</a>:</h4>
<p>I have to read those and see if I find them persuasive</p>



<a name="179556946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556946">(Oct 31 2019 at 17:46)</a>:</h4>
<p>one thing I would like to have is a list of which functions use "C" but actually <em>can</em> unwind</p>



<a name="179556961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556961">(Oct 31 2019 at 17:47)</a>:</h4>
<p>I guess <em>longjmp</em> is such an example :)</p>



<a name="179556969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179556969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179556969">(Oct 31 2019 at 17:47)</a>:</h4>
<p>(at least on MSVC)</p>



<a name="179557093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557093">(Oct 31 2019 at 17:48)</a>:</h4>
<blockquote>
<p>I have to read those and see if I find them persuasive</p>
</blockquote>
<p>FWIW I believe the HackMD updates capture the important bits of the conversation; reading the whole thread is likely not an optimal use of time</p>



<a name="179557115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557115">(Oct 31 2019 at 17:48)</a>:</h4>
<p>I do not mean to read any threads :)</p>



<a name="179557129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557129">(Oct 31 2019 at 17:49)</a>:</h4>
<p>Perfect!</p>



<a name="179557137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557137">(Oct 31 2019 at 17:49)</a>:</h4>
<p>which thread are you referring to, "noexcept-like feature"? :)</p>



<a name="179557141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557141">(Oct 31 2019 at 17:49)</a>:</h4>
<blockquote>
<p>Adding the guarantee to the language that extern "C" do not unwind has the same expressive power as C++ noexcept keyword, but much worse ergonomics.</p>
</blockquote>



<a name="179557143"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557143" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557143">(Oct 31 2019 at 17:49)</a>:</h4>
<p>Yes</p>



<a name="179557149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557149">(Oct 31 2019 at 17:49)</a>:</h4>
<p>I am struggling with this statement :)</p>



<a name="179557164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557164">(Oct 31 2019 at 17:49)</a>:</h4>
<p>in particular, I'd lke to see examples of the ergonomics?</p>



<a name="179557170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557170">(Oct 31 2019 at 17:49)</a>:</h4>
<p>hey, sorry I'm late. catching up now</p>



<a name="179557171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557171">(Oct 31 2019 at 17:49)</a>:</h4>
<p>maybe they're below, but I got lost in the proof..</p>



<a name="179557189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557189">(Oct 31 2019 at 17:49)</a>:</h4>
<p>Oh, for that it might actually be useful to look at the examples gnzlbg gave in the thread</p>



<a name="179557256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557256">(Oct 31 2019 at 17:50)</a>:</h4>
<p><a href="#narrow/stream/210922-wg-ffi-unwind/topic/noexcept-like.20feature/near/179520449" title="#narrow/stream/210922-wg-ffi-unwind/topic/noexcept-like.20feature/near/179520449">https://rust-lang.zulipchat.com/#narrow/stream/210922-wg-ffi-unwind/topic/noexcept-like.20feature/near/179520449</a></p>



<a name="179557270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557270">(Oct 31 2019 at 17:50)</a>:</h4>
<p>and</p>
<p><a href="#narrow/stream/210922-wg-ffi-unwind/topic/noexcept-like.20feature/near/179444817" title="#narrow/stream/210922-wg-ffi-unwind/topic/noexcept-like.20feature/near/179444817">https://rust-lang.zulipchat.com/#narrow/stream/210922-wg-ffi-unwind/topic/noexcept-like.20feature/near/179444817</a></p>



<a name="179557306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557306">(Oct 31 2019 at 17:50)</a>:</h4>
<p>okI think the argument is:</p>



<a name="179557314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557314">(Oct 31 2019 at 17:51)</a>:</h4>
<p>you might like to guarantee "no unwinding" in cases where no C code is involved</p>



<a name="179557339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557339">(Oct 31 2019 at 17:51)</a>:</h4>
<p>Yes</p>



<a name="179557361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557361">(Oct 31 2019 at 17:51)</a>:</h4>
<p>that's an interesting argument</p>



<a name="179557382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557382">(Oct 31 2019 at 17:51)</a>:</h4>
<p>and the idea is that introducing this feature "accidentally" by way of ABI strings would be detrimental</p>



<a name="179557396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557396">(Oct 31 2019 at 17:51)</a>:</h4>
<p>"detrimental" may be too strong</p>



<a name="179557585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557585">(Oct 31 2019 at 17:53)</a>:</h4>
<p>Generally, I do think that if/when we introduce a feature to cause functions to automatically abort-on-panic, it should be applicable to functions regardless of the ABI</p>



<a name="179557688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557688">(Oct 31 2019 at 17:54)</a>:</h4>
<p>okay, caught up on this thread at least. I have had even less time than I was expecting given our current demo crunch. I'm excited by <a href="https://github.com/rust-lang/rust/issues/16" target="_blank" title="https://github.com/rust-lang/rust/issues/16">#16</a>!</p>



<a name="179557689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557689">(Oct 31 2019 at 17:54)</a>:</h4>
<p>That seems true but it doesn't mean we can't <em>also</em> the ABI</p>



<a name="179557727"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557727" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557727">(Oct 31 2019 at 17:55)</a>:</h4>
<p>but I see the point</p>



<a name="179557743"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557743" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557743">(Oct 31 2019 at 17:55)</a>:</h4>
<p>I've summarized here:</p>
<blockquote>
<h3>You might like to avoid unwinding of Rust functions, too</h3>
<p>We discussed how unsafe code in particular must be careful to be "unwind safe", but this applies not just to "C" functions but really to any Rust function. Therefore, we might like to have a feature that guarantees that some callee cannot unwind. But do we really want to use the ABI string to contrl this in the more general case?</p>
</blockquote>



<a name="179557820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557820">(Oct 31 2019 at 17:55)</a>:</h4>
<p>I think the quote from Nick L that I added to the HackMD doc captures the concern: "FFI is not a sandbox"</p>



<a name="179557916"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557916" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557916">(Oct 31 2019 at 17:56)</a>:</h4>
<p>which is to say, the lang team has been planning to <em>make</em> it a sandbox for a long time, but at least one LLVM dev thought that sounded like the wrong approach. Not sure what weight to assign that fact.</p>



<a name="179557981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179557981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179557981">(Oct 31 2019 at 17:57)</a>:</h4>
<p>sandbox in what sense, here?</p>



<a name="179558009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558009">(Oct 31 2019 at 17:57)</a>:</h4>
<p>Sandboxing unwinding ops to prevent them from escaping</p>



<a name="179558019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558019">(Oct 31 2019 at 17:57)</a>:</h4>
<p>I mean it doesn't actually "prevent", of course, since it would be "UB"</p>



<a name="179558023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558023">(Oct 31 2019 at 17:57)</a>:</h4>
<p>by changing the <em>semantics</em> of a function (i.e. inserting a shim that <em>does something</em>)</p>



<a name="179558039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558039">(Oct 31 2019 at 17:57)</a>:</h4>
<p>I think it's more accurate to say that the ABI is <em>promising</em> not to unwind</p>



<a name="179558043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558043">(Oct 31 2019 at 17:57)</a>:</h4>
<p>it is most definitely not sandboxing it</p>



<a name="179558089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558089">(Oct 31 2019 at 17:58)</a>:</h4>
<p>it doesn't seem that different frm any other type</p>



<a name="179558118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558118">(Oct 31 2019 at 17:58)</a>:</h4>
<p>Oh, there's a misunderstanding here. The "sandbox" concern is about the planned behavior of <code>extern "C"</code>, which is to insert an abort-on-unwind shim (which is well defined)</p>



<a name="179558124"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558124" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558124">(Oct 31 2019 at 17:58)</a>:</h4>
<p>got it. yeah, seems like the best we can do is insert shims for the unwinding mechanisms we're aware of, but that's certainly not a guarantee</p>



<a name="179558160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558160">(Oct 31 2019 at 17:59)</a>:</h4>
<blockquote>
<p>Oh, there's a misunderstanding here. The "sandbox" concern is about the planned behavior of <code>extern "C"</code>, which is to insert an abort-on-unwind shim (which is well defined)</p>
</blockquote>
<p>that is only true for</p>
<div class="codehilite"><pre><span></span><span class="k">extern</span><span class="w"> </span><span class="s">&quot;C&quot;</span><span class="w"> </span><span class="k">fn</span> <span class="nf">foo</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
</pre></div>


<p>but not calls to some random <code>extern "C" fn</code></p>



<a name="179558179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558179">(Oct 31 2019 at 17:59)</a>:</h4>
<p>it seems like a key point</p>



<a name="179558192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558192">(Oct 31 2019 at 17:59)</a>:</h4>
<p>because the strongest argument <em>against</em> <code>extern "C"</code> unwinding has precisely to do with this</p>



<a name="179558194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558194">(Oct 31 2019 at 17:59)</a>:</h4>
<p>True.</p>



<a name="179558200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558200">(Oct 31 2019 at 17:59)</a>:</h4>
<p>at least what I see as the strongest argument</p>



<a name="179558314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558314">(Oct 31 2019 at 18:00)</a>:</h4>
<p>Hm....I would see that as an argument <em>for</em> <code>extern "C"</code> unwinding: since the abort-shim can only be inserted in Rust functions, that would make <code>extern "C"</code> inconsistent.</p>



<a name="179558315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558315">(Oct 31 2019 at 18:00)</a>:</h4>
<p>which is that <code>-Cpanic=abort</code> must <em>either</em> introduce shims on calls to <code>extern "C"</code> functions to abort or else it means that <code>-Cpanic=abort</code> can cause UB</p>



<a name="179558325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558325">(Oct 31 2019 at 18:00)</a>:</h4>
<p>for code that otherwise worked</p>



<a name="179558341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558341">(Oct 31 2019 at 18:00)</a>:</h4>
<p>and then there is the question of the cost of said shims in terms of code size (I am not sure what the answer is there)</p>



<a name="179558342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558342">(Oct 31 2019 at 18:00)</a>:</h4>
<p>I'm talking about the non-<code>panic=abort</code> case, i.e., the behavior originally introduced in 1.24.0</p>



<a name="179558390"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558390" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558390">(Oct 31 2019 at 18:01)</a>:</h4>
<p>those shims might also depend on platform/library calls that are exactly the kinds of things that, say, embedded would want to avoid</p>



<a name="179558443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558443">(Oct 31 2019 at 18:01)</a>:</h4>
<blockquote>
<p>Hm....I would see that as an argument <em>for</em> <code>extern "C"</code> unwinding: since the abort-shim can only be inserted in Rust functions, that would make <code>extern "C"</code> inconsistent.</p>
</blockquote>
<p>fair, although you could view that as just an argument against adding the shims (to avoid inconsistency)</p>



<a name="179558532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558532">(Oct 31 2019 at 18:02)</a>:</h4>
<blockquote>
<p>those shims might also depend on platform/library calls that are exactly the kinds of things that, say, embedded would want to avoid</p>
</blockquote>
<p>I suppose that if you are on a platform that has no unwinding mechanism, then that's a different scenario</p>



<a name="179558535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558535">(Oct 31 2019 at 18:02)</a>:</h4>
<p>(not sure if that's what you were implying)</p>



<a name="179558545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558545">(Oct 31 2019 at 18:02)</a>:</h4>
<p>Right -- without the shims, <code>extern "C"</code> would unwind</p>



<a name="179558559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558559">(Oct 31 2019 at 18:02)</a>:</h4>
<p>instead of aborting</p>



<a name="179558562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558562">(Oct 31 2019 at 18:02)</a>:</h4>
<p>the point is that throws of foreign exceptions are out of our control, ultimately, so <code>-Cpanic=abort</code> can't change them to aborts</p>



<a name="179558582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558582">(Oct 31 2019 at 18:02)</a>:</h4>
<blockquote>
<p>Right -- without the shims, <code>extern "C"</code> would unwind</p>
</blockquote>
<p>it would just be UB al the time</p>



<a name="179558600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558600">(Oct 31 2019 at 18:02)</a>:</h4>
<p>(presuming we added "C unwind", I mean)</p>



<a name="179558662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558662">(Oct 31 2019 at 18:03)</a>:</h4>
<p>Re: <code>panic=abort</code> and calling foreign functions that unwind, I'd like to know whether <code>noexcept</code> in LLVM actually causes undefined behavior there. E.g. we already know it doesn't interfere with <code>longjmp</code> on Windows</p>



<a name="179558769"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558769" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558769">(Oct 31 2019 at 18:04)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> are you around?</p>



<a name="179558786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558786">(Oct 31 2019 at 18:04)</a>:</h4>
<p>I don't like appealing to the authority of the C/C++ world, but if my <code>-fno-exceptions</code> code called a function in a library that threw an exception, I wouldn't expect anything other than UB</p>



<a name="179558828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558828">(Oct 31 2019 at 18:04)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> more or less</p>



<a name="179558829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558829">(Oct 31 2019 at 18:04)</a>:</h4>
<p><span class="user-mention" data-user-id="237472">@acfoltzer</span> yeah but that's the scenario I think we're trying to avoid</p>



<a name="179558837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558837">(Oct 31 2019 at 18:04)</a>:</h4>
<p>That's certainly my default assumption in that world <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="179558843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558843">(Oct 31 2019 at 18:04)</a>:</h4>
<p>that is an alternative though</p>



<a name="179558859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558859">(Oct 31 2019 at 18:05)</a>:</h4>
<p>I haven't read this thread</p>



<a name="179558874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558874">(Oct 31 2019 at 18:05)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> what I specifically wanted to ask you is</p>



<a name="179558887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558887">(Oct 31 2019 at 18:05)</a>:</h4>
<p>do you have a list somewhere of libc functions that might unwind?</p>



<a name="179558911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558911">(Oct 31 2019 at 18:05)</a>:</h4>
<p>yes, I posted it on the other thread, wait a sec</p>



<a name="179558914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558914">(Oct 31 2019 at 18:05)</a>:</h4>
<p>is it like "any pthread function", in the case of cancelation occuring?</p>



<a name="179558917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558917">(Oct 31 2019 at 18:05)</a>:</h4>
<p>aah, sorry</p>



<a name="179558959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179558959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179558959">(Oct 31 2019 at 18:06)</a>:</h4>
<p><a href="http://man7.org/linux/man-pages/man7/pthreads.7.html" target="_blank" title="http://man7.org/linux/man-pages/man7/pthreads.7.html">http://man7.org/linux/man-pages/man7/pthreads.7.html</a></p>



<a name="179559022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559022">(Oct 31 2019 at 18:06)</a>:</h4>
<blockquote>
<p>I don't like appealing to the authority of the C/C++ world, but if my <code>-fno-exceptions</code> code called a function in a library that threw an exception, I wouldn't expect anything other than UB</p>
</blockquote>
<p>to expand on this -- the question is basically whether <code>-Cpanic=abort</code> should be the kind of thing that users have to be very careful and knowledge about (like certain details of target-feature), or is it something you can enable casually?</p>



<a name="179559034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559034">(Oct 31 2019 at 18:06)</a>:</h4>
<blockquote>
<p>s it like "any pthread function", in the case of cancelation occuring?</p>
</blockquote>
<p>No, its more like any C or POSIX API that can do a system call</p>



<a name="179559045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559045">(Oct 31 2019 at 18:06)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> presumably longjmp also falls into this category?</p>



<a name="179559079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559079">(Oct 31 2019 at 18:06)</a>:</h4>
<blockquote>
<p>No, its more like any C or POSIX API that can do a system call</p>
</blockquote>
<p>woah wait hold up :)</p>



<a name="179559083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559083">(Oct 31 2019 at 18:06)</a>:</h4>
<p>in that link go for cancellation points, and there is a huge list: poll, open, sleep,</p>



<a name="179559094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559094">(Oct 31 2019 at 18:06)</a>:</h4>
<p>that's a fairly broad category</p>



<a name="179559102"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559102" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559102">(Oct 31 2019 at 18:06)</a>:</h4>
<p>ok, <em>that's</em> interesting</p>



<a name="179559142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559142">(Oct 31 2019 at 18:07)</a>:</h4>
<p>yes, there are a lot of APIs that are required to be cancellation points, and many that are allowed to be</p>



<a name="179559170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559170">(Oct 31 2019 at 18:07)</a>:</h4>
<p>e.g. <code>printf</code> can be a cancellation point</p>



<a name="179559205"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559205" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559205">(Oct 31 2019 at 18:07)</a>:</h4>
<p>basically it works like a garbage collector would in say Java</p>



<a name="179559261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559261">(Oct 31 2019 at 18:08)</a>:</h4>
<p>when you cancel a thread, the threading run-time will do so, once that thread calls a function from the C run-time</p>



<a name="179559364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559364">(Oct 31 2019 at 18:08)</a>:</h4>
<p>if a thread doesn't do that, the run-time has little options to cancel the thread because the thread is doing other stuff</p>



<a name="179559408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559408">(Oct 31 2019 at 18:08)</a>:</h4>
<p>so by calling <code>open</code>, you are yielding to the run-time, and might do a context switch, and at that point the runtime might say "you are cancelled"</p>



<a name="179559473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559473">(Oct 31 2019 at 18:09)</a>:</h4>
<p>that makes a lot of sense but the implications are kind of horrifying</p>



<a name="179559569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559569">(Oct 31 2019 at 18:10)</a>:</h4>
<p>I mean, the "anything that can do a context switch is a cancellation point" is my rule of thumb</p>



<a name="179559597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559597">(Oct 31 2019 at 18:10)</a>:</h4>
<p>There are like ~50 or so POSIX APIs that can be cancellation points</p>



<a name="179559619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559619">(Oct 31 2019 at 18:10)</a>:</h4>
<p>there are many C APIs that are not. Those 50 APIs are used a lot though.</p>



<a name="179559661"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559661" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559661">(Oct 31 2019 at 18:11)</a>:</h4>
<p>Then there is the issue of what happens if the thread doesn't call a cancellation point for too long</p>



<a name="179559665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559665">(Oct 31 2019 at 18:11)</a>:</h4>
<blockquote>
<p>I feel like the PR is close to having agreement, which is nice (I am guessing Centril is holding off on approving until the scope questions are addressed)</p>
</blockquote>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span>  I checked my box 2 days ago but it seems rfcbot didn't record it</p>



<a name="179559722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559722">(Oct 31 2019 at 18:11)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> thanks I will add those details to the hackmd</p>



<a name="179559725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559725">(Oct 31 2019 at 18:11)</a>:</h4>
<p>so I think i've revised my opinion</p>



<a name="179559732"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559732" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559732">(Oct 31 2019 at 18:11)</a>:</h4>
<p>I used to think this was open-and-shut</p>



<a name="179559733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559733">(Oct 31 2019 at 18:11)</a>:</h4>
<p>There; the "RFC" is in FCP now</p>



<a name="179559786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559786">(Oct 31 2019 at 18:12)</a>:</h4>
<p>but now I think that it's unclear</p>



<a name="179559829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559829">(Oct 31 2019 at 18:12)</a>:</h4>
<p>there is the question whether we want to support those cancellation points</p>



<a name="179559892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559892">(Oct 31 2019 at 18:13)</a>:</h4>
<p>yes</p>



<a name="179559896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559896">(Oct 31 2019 at 18:13)</a>:</h4>
<p>for example, we could say that using <code>pthread_cancel</code> with libstd threads is UB</p>



<a name="179559904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559904">(Oct 31 2019 at 18:13)</a>:</h4>
<p>that's kind of the status quo right now</p>



<a name="179559908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559908">(Oct 31 2019 at 18:13)</a>:</h4>
<p>I also used to think that <code>"C noexcept"</code> was a "no brainer" to include, but now I think <em>that</em> is less clear -- the idea of just having "C" (which suppors unwinding in the platform default way) is somewhat appealing, and maybe having some form of no-except that is orthogonal to ABI</p>



<a name="179559924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559924">(Oct 31 2019 at 18:13)</a>:</h4>
<p>right, I think that is one of the options</p>



<a name="179559950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559950">(Oct 31 2019 at 18:14)</a>:</h4>
<p>I mean I think pthread cancelation is a terrible ida anyway :)</p>



<a name="179559995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179559995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179559995">(Oct 31 2019 at 18:14)</a>:</h4>
<p>but .. maybe that's not for me to decide</p>



<a name="179560008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560008">(Oct 31 2019 at 18:14)</a>:</h4>
<p>I at least didn't appreciate that unwinding was used in this way</p>



<a name="179560012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560012">(Oct 31 2019 at 18:14)</a>:</h4>
<blockquote>
<p>I also used to think that <code>"C noexcept"</code> was a "no brainer" to include, but now I think <em>that</em> is less clear -- the idea of just having "C" (which suppors unwinding in the platform default way) is somewhat appealing, and maybe having some form of no-except that is orthogonal to ABI</p>
</blockquote>
<p>Yes, I don't believe it's a "no brainer" either <span aria-label="smile" class="emoji emoji-263a" role="img" title="smile">:smile:</span></p>



<a name="179560018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560018">(Oct 31 2019 at 18:14)</a>:</h4>
<p>might be a libs-team issue</p>



<a name="179560033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560033">(Oct 31 2019 at 18:14)</a>:</h4>
<p>I feel like it merits a more focused discussion</p>



<a name="179560043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560043">(Oct 31 2019 at 18:14)</a>:</h4>
<blockquote>
<p>but .. maybe that's not for me to decide</p>
</blockquote>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> general point: I think it's fine to have opinionated language design</p>



<a name="179560044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560044">(Oct 31 2019 at 18:14)</a>:</h4>
<p>note that if a thread doesn't call a C run-time function for a while, the run-time might send a signal and just kill it</p>



<a name="179560073"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560073" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560073">(Oct 31 2019 at 18:14)</a>:</h4>
<p>one thing that I think would be highly relevant would be data</p>



<a name="179560074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560074">(Oct 31 2019 at 18:14)</a>:</h4>
<p>(As an also-Haskeller it is predictable for me to say that however)</p>



<a name="179560121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560121">(Oct 31 2019 at 18:15)</a>:</h4>
<p>I would be interestd -- since <span class="user-mention" data-user-id="127859">@Taylor Cramer</span> cares a lot about this -- to gather data on fuschia builds without <code>-Cpanic=abort</code>, for example</p>



<a name="179560129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560129">(Oct 31 2019 at 18:15)</a>:</h4>
<p>which is kind of a "worse case' :)</p>



<a name="179560238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560238">(Oct 31 2019 at 18:16)</a>:</h4>
<blockquote>
<p>might be a libs-team issue</p>
</blockquote>
<p>actually it occurs to me that</p>



<a name="179560262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560262">(Oct 31 2019 at 18:16)</a>:</h4>
<p>this is <em>also</em> an argument for <code>#[unwind(allow)]</code></p>



<a name="179560284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560284">(Oct 31 2019 at 18:16)</a>:</h4>
<p>i.e., if we say that <code>"C"</code> ABI permits unwinding, but the function must be declared to unwind, and by-pointer calls <em>assume</em> it may unwind</p>



<a name="179560285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560285">(Oct 31 2019 at 18:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> huh?</p>



<a name="179560304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560304">(Oct 31 2019 at 18:17)</a>:</h4>
<p>then the libc functions can become <code>#[unwind(allow)]</code></p>



<a name="179560311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560311">(Oct 31 2019 at 18:17)</a>:</h4>
<p>in a backwards compatible way</p>



<a name="179560363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560363">(Oct 31 2019 at 18:17)</a>:</h4>
<p>yes, that was also another possible design</p>



<a name="179560378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560378">(Oct 31 2019 at 18:17)</a>:</h4>
<p>libc's backwards compatibility policies are not something I care about</p>



<a name="179560397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560397">(Oct 31 2019 at 18:18)</a>:</h4>
<p>Niko, do you mean that without the <code>unwind(allow)</code> annotation, <code>extern "C" fn ... { /* Rust code */ }</code> <em>would</em> insert the abort-shim?</p>



<a name="179560458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560458">(Oct 31 2019 at 18:18)</a>:</h4>
<blockquote>
<p>libc's backwards compatibility policies are not something I care about</p>
</blockquote>
<p>Noted, but that's not universal!</p>



<a name="179560474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560474">(Oct 31 2019 at 18:18)</a>:</h4>
<p>yes but also</p>



<a name="179560513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560513">(Oct 31 2019 at 18:18)</a>:</h4>
<p>it's not just about libc back-compat</p>



<a name="179560556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560556">(Oct 31 2019 at 18:19)</a>:</h4>
<p>Centril, I believe you previously objected to <code>extern "C" &lt;Rust fn&gt;</code> inserting the shim, but <code>extern "C"</code> being assumed to "possibly unwind", being inconsistent?</p>



<a name="179560558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560558">(Oct 31 2019 at 18:19)</a>:</h4>
<p>I guess it's a variant of the "it's simpler to have one ABI that supports the things the ABI supports"</p>



<a name="179560561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560561">(Oct 31 2019 at 18:19)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> btw, 10 min to pre-triage</p>



<a name="179560608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560608">(Oct 31 2019 at 18:19)</a>:</h4>
<p>i.e., all extern "C" functions can unwind (the ABI permits it) -- but if we know the callee, we may know they won't</p>



<a name="179560633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560633">(Oct 31 2019 at 18:19)</a>:</h4>
<p>you could also argue for the opposite default</p>



<a name="179560695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560695">(Oct 31 2019 at 18:20)</a>:</h4>
<p>which is where <span class="user-mention" data-user-id="143274">@Amanieu</span> started</p>



<a name="179560701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560701">(Oct 31 2019 at 18:20)</a>:</h4>
<p>ok, I'm seeing the case for that a bit stronger</p>



<a name="179560806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560806">(Oct 31 2019 at 18:21)</a>:</h4>
<p>I want to spend some time thinking on how to re-organize the hackmd now to better bring these ideas out</p>



<a name="179560905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560905">(Oct 31 2019 at 18:22)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> "the shim" ?</p>



<a name="179560936"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560936" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560936">(Oct 31 2019 at 18:22)</a>:</h4>
<p>the abort on unwind shim?</p>



<a name="179560949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560949">(Oct 31 2019 at 18:22)</a>:</h4>
<p>or some other?</p>



<a name="179560995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179560995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179560995">(Oct 31 2019 at 18:22)</a>:</h4>
<p>That sentence wasn't clear enough for me to understand &amp; answer</p>



<a name="179561067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561067">(Oct 31 2019 at 18:23)</a>:</h4>
<p>Sorry, yes, the abort-on-unwind shim.</p>



<a name="179561089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561089">(Oct 31 2019 at 18:23)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> From a purely compiler &amp; spec POV I think a distinct ABI string is simplest at least; it is using an existing infra rather than inventing a new one</p>



<a name="179561176"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561176" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561176">(Oct 31 2019 at 18:24)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span>  the abort-on-unwind shim is mandatory if unwinding is not allowed for soundness</p>



<a name="179561235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561235">(Oct 31 2019 at 18:24)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> From a purely compiler &amp; spec POV I think a distinct ABI string is simplest at least; it is using an existing infra rather than inventing a new one</p>
</blockquote>
<p>Removing <code>nounwind</code> from LLVM code generation for <code>extern "C"</code>, and stabilizing the <code>unwind(allowed/abort)</code> attributes, is even simpler, isn't it?</p>



<a name="179561273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561273">(Oct 31 2019 at 18:25)</a>:</h4>
<p>I don't believe so</p>



<a name="179561446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561446">(Oct 31 2019 at 18:26)</a>:</h4>
<p><span class="user-mention" data-user-id="126931">@centril</span> when you invoke a function, we already have a unique type that represents known callees</p>



<a name="179561457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561457">(Oct 31 2019 at 18:26)</a>:</h4>
<p>The "Rust" ABI already does switch <code>nounwind</code> off, so that logic already exists wrt. pattern matching on ABIs</p>



<a name="179561458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561458">(Oct 31 2019 at 18:26)</a>:</h4>
<p>so it's not hard to distinguish "call by pointer" from "call to known function"</p>



<a name="179561479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561479">(Oct 31 2019 at 18:26)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="120076">Kyle Strand</span>  the abort-on-unwind shim is mandatory if unwinding is not allowed for soundness</p>
</blockquote>
<p>I'm talking about the case where unwinding <em>is</em> allowed. I remember you saying that this combination would be inconsistent:</p>
<ul>
<li><code>extern "C" fn &lt;... Rust code ... &gt;</code> automatically inserts an abort-on-unwind shim, unless there's an opt-out via <code>unwind(allowed)</code></li>
<li><code>extern "C" { fn &lt;imported fn that may be from e.g. C++&gt; }</code> is "assumed to possibly unwind", i.e., invocations of a that function can't insert <code>nounwind</code></li>
</ul>



<a name="179561531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561531">(Oct 31 2019 at 18:27)</a>:</h4>
<p>...and I believe that's the combination Niko is describing above.</p>



<a name="179561575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561575">(Oct 31 2019 at 18:27)</a>:</h4>
<blockquote>
<p>i.e., if we say that <code>"C"</code> ABI permits unwinding, but the function must be declared to unwind, and by-pointer calls <em>assume</em> it may unwind</p>
</blockquote>
<p>in this message</p>



<a name="179561580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561580">(Oct 31 2019 at 18:27)</a>:</h4>
<p>that seems inconsistent yes</p>



<a name="179561644"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561644" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561644">(Oct 31 2019 at 18:28)</a>:</h4>
<p>Okay, glad I remembered correctly <span aria-label="smile" class="emoji emoji-263a" role="img" title="smile">:smile:</span></p>



<a name="179561670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561670">(Oct 31 2019 at 18:28)</a>:</h4>
<p>I thought so, but now i'm not so sure.</p>



<a name="179561677"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561677" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561677">(Oct 31 2019 at 18:28)</a>:</h4>
<p>It also depends a lot on the defaults.</p>



<a name="179561709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561709">(Oct 31 2019 at 18:28)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> You are talking about the distinction between <code>FnDef</code> and <code>FnPtr</code>?</p>



<a name="179561737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561737">(Oct 31 2019 at 18:29)</a>:</h4>
<p>But it seems like a big part of this question is also a matter of costs -- like, if the worst part of "C unwinds" is the need for an abort shim on call sites, how much does that really cost in actual programs? can we readily measure that?</p>



<a name="179561786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561786">(Oct 31 2019 at 18:29)</a>:</h4>
<p>it seems eminently measurable</p>



<a name="179561812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561812">(Oct 31 2019 at 18:30)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> at any rate, we have pre-triage now <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span></p>



<a name="179561861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179561861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179561861">(Oct 31 2019 at 18:30)</a>:</h4>
<p>yes, I know.</p>



<a name="179562177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179562177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179562177">(Oct 31 2019 at 18:33)</a>:</h4>
<p>one open question with the unwind by default, <code>nounwind</code> opt-in, is how to apply <code>#[unwind(aborts)]</code> to function pointers</p>



<a name="179562252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179562252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179562252">(Oct 31 2019 at 18:33)</a>:</h4>
<p>but that's more a syntactic issue</p>



<a name="179565730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179565730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179565730">(Oct 31 2019 at 19:07)</a>:</h4>
<p>For <code>#[unwind(aborts)]</code>, it is the responsibility of the callee to ensure that it aborts instead of unwinding. From the caller's point of view it's just a <code>nounwind</code> function. So there isn't much to do with function pointers: by default they can unwind and specifying nounwind function pointers probably isn't worth the trouble.</p>



<a name="179566637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179566637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179566637">(Oct 31 2019 at 19:17)</a>:</h4>
<p>maybe, that was an unresolved question last time</p>



<a name="179566726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/179566726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#179566726">(Oct 31 2019 at 19:18)</a>:</h4>
<p>in case we wanted to do that in the future <code>#[unwind(aborts)]</code> can  just be allowed when specifying function pointers, that would be a backward compatible change</p>



<a name="180159883"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180159883" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180159883">(Nov 07 2019 at 18:27)</a>:</h4>
<p>hey folks, I'm going to be a bit late to the sync this week as we have a contractor at the house still</p>



<a name="180160451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180160451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180160451">(Nov 07 2019 at 18:33)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="180160470"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180160470" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180160470">(Nov 07 2019 at 18:33)</a>:</h4>
<p>Hey <span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> -- quick sync? I'm not sure if anything happened this week, though</p>



<a name="180160561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180160561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180160561">(Nov 07 2019 at 18:34)</a>:</h4>
<p>I would be happy to spend a bit of time <em>now</em> on looking over the hackmd</p>



<a name="180161974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180161974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180161974">(Nov 07 2019 at 18:49)</a>:</h4>
<p>okay, contractors just finished up. I could take a look at a hackmd—which one?</p>



<a name="180162265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162265">(Nov 07 2019 at 18:51)</a>:</h4>
<p><a href="https://hackmd.io/ymsEL6OpR6OSMoFr1As1rw" target="_blank" title="https://hackmd.io/ymsEL6OpR6OSMoFr1As1rw">https://hackmd.io/ymsEL6OpR6OSMoFr1As1rw</a></p>



<a name="180162318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162318">(Nov 07 2019 at 18:52)</a>:</h4>
<p>I've not done anything, I got distracted by a million other pings :)</p>



<a name="180162337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162337">(Nov 07 2019 at 18:52)</a>:</h4>
<p>But I was saying last week that I felt like the organization wasn't right anymore</p>



<a name="180162341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162341">(Nov 07 2019 at 18:52)</a>:</h4>
<p>Let me take 10 minutes to see...</p>



<a name="180162391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162391">(Nov 07 2019 at 18:52)</a>:</h4>
<p>gotcha, taking a look now. I likewise have been on other things for the last week, but we're getting close to the end of this demo sprint</p>



<a name="180162448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162448">(Nov 07 2019 at 18:53)</a>:</h4>
<p>also the Cranelift PR for eh_frame data is active once again, so this is really going to be occupying my attention again soon</p>



<a name="180162574"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162574" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162574">(Nov 07 2019 at 18:54)</a>:</h4>
<p>what I didn't like about this framing</p>



<a name="180162596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162596">(Nov 07 2019 at 18:54)</a>:</h4>
<p>for one thing I didnj't like the lsit of two options</p>



<a name="180162615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162615">(Nov 07 2019 at 18:55)</a>:</h4>
<p>I thnk i'd like to sort of collapse the list of arguments into broader "considerations"</p>



<a name="180162652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162652">(Nov 07 2019 at 18:55)</a>:</h4>
<p>I'm creating a <a href="https://hackmd.io/JIsPlpIPR2yTC051m4Mliw" target="_blank" title="https://hackmd.io/JIsPlpIPR2yTC051m4Mliw">second hackmd to play around</a></p>



<a name="180162979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180162979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180162979">(Nov 07 2019 at 18:58)</a>:</h4>
<p><span class="user-mention" data-user-id="127859">@Taylor Cramer</span> -- you mentioned that Fuschia had some numbers regarding the cost of <code>-Cpanic=abort</code> vs <code>-Cpanic=unwind</code> somewhere?</p>



<a name="180163015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163015">(Nov 07 2019 at 18:58)</a>:</h4>
<p>I know that <span class="user-mention" data-user-id="132920">@gnzlbg</span> had some smaller measurements</p>



<a name="180163515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163515">(Nov 07 2019 at 19:02)</a>:</h4>
<p>I only had some synthetic examples, where the impact was massive, but it is hard to extrapolate from there to a real application. An App where ~0% of the code does C FFI calls won't probably see any differences, but an FFI wrapper might or might not see some, depending on other factors like whether it uses variables with destructors in the frames doing FFI calls, etc.</p>



<a name="180163552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163552">(Nov 07 2019 at 19:03)</a>:</h4>
<p>Maybe it would be interesting to benchmark, e.g., <code>mozjpeg</code> or similar with <code>-C panic=abort</code> and <code>-C panic=unwind</code>.</p>



<a name="180163618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163618">(Nov 07 2019 at 19:03)</a>:</h4>
<p>I agree</p>



<a name="180163686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163686">(Nov 07 2019 at 19:04)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="116883">@tmandry</span> who is the better person to talk with about fuchsia stuff going forwards</p>



<a name="180163727"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163727" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163727">(Nov 07 2019 at 19:04)</a>:</h4>
<p>It's a wrapper over <code>mozjpeg-sys</code>, so the impact there can be big, but if it turns out it is small, it is probably safe to conclude that this won't impact large apps except for maybe pathological cases</p>



<a name="180163731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163731">(Nov 07 2019 at 19:04)</a>:</h4>
<p>and is the one who collected the most recent data on this</p>



<a name="180163795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Taylor Cramer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163795">(Nov 07 2019 at 19:05)</a>:</h4>
<p>We (fuchsia) also have a decently large amount of FFI, and so would probably be an interesting benchmark for this specific case as well</p>



<a name="180163942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163942">(Nov 07 2019 at 19:06)</a>:</h4>
<p>yes, it seems like a perfect case to measure</p>



<a name="180163981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163981">(Nov 07 2019 at 19:06)</a>:</h4>
<p>of course the cost of <code>-Cpanic=unwind</code> is greater than the cost would be to <em>just</em> have abort guards on FFI calls</p>



<a name="180163989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163989">(Nov 07 2019 at 19:06)</a>:</h4>
<p>but it's a good and easy to measure upper bound</p>



<a name="180163997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180163997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180163997">(Nov 07 2019 at 19:06)</a>:</h4>
<p>(I think it's an upper bound?)</p>



<a name="180164338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180164338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180164338">(Nov 07 2019 at 19:09)</a>:</h4>
<p>the addendum in the first hackmd about <code>nounwind fn foo()</code> is really interesting; it hadn't occurred to me but of course makes a lot of sense that people would use a nounwind C ABI to implement targeted no-panic guarantees</p>



<a name="180165149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180165149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180165149">(Nov 07 2019 at 19:17)</a>:</h4>
<p>Hey all, sorry I missed this sync session, and generally haven't been very helpful this week. <span class="user-mention" data-user-id="116009">@nikomatsakis</span> let me know if you think it would be valuable for me to attend the lang meeting; I believe we don't have a real update since last meeting, though.</p>



<a name="180165464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180165464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180165464">(Nov 07 2019 at 19:19)</a>:</h4>
<p>I think it's ok to say "no update, we're still working on preparing this core question"</p>



<a name="180165517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180165517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180165517">(Nov 07 2019 at 19:20)</a>:</h4>
<p>I mean I also think this is a pretty important question to get right!</p>



<a name="180165525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180165525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180165525">(Nov 07 2019 at 19:20)</a>:</h4>
<p>"the rest is details"</p>



<a name="180165552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180165552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180165552">(Nov 07 2019 at 19:20)</a>:</h4>
<p>I think we've kind of covered the space</p>



<a name="180165567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180165567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180165567">(Nov 07 2019 at 19:20)</a>:</h4>
<p>in terms of considerations</p>



<a name="180166465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180166465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180166465">(Nov 07 2019 at 19:29)</a>:</h4>
<p>ok so I've been working on this <a href="https://hackmd.io/JIsPlpIPR2yTC051m4Mliw" target="_blank" title="https://hackmd.io/JIsPlpIPR2yTC051m4Mliw">alternate form</a></p>



<a name="180166548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180166548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180166548">(Nov 07 2019 at 19:30)</a>:</h4>
<p>what I am trying to do is to factor out some of the "considerations" that are common, without getting into too much detail about specific approaches</p>



<a name="180166576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180166576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180166576">(Nov 07 2019 at 19:30)</a>:</h4>
<p>what I wanted to do next is to create a section where I talk about the various options and try to explain their pros/cons in terms of those considerations</p>



<a name="180166582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180166582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180166582">(Nov 07 2019 at 19:30)</a>:</h4>
<p>I'm running out of time to work on that :)</p>



<a name="180168230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180168230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180168230">(Nov 07 2019 at 19:46)</a>:</h4>
<p><code>meaning of C</code> == <code>meaning of the "C" ABI specifier</code> ?</p>



<a name="180168297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180168297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180168297">(Nov 07 2019 at 19:47)</a>:</h4>
<p>I will try to spend some time looking at that in the next few days</p>



<a name="180758990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180758990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180758990">(Nov 14 2019 at 18:28)</a>:</h4>
<p>I might be late and/or miss a meeting today, <span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span></p>



<a name="180760468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760468">(Nov 14 2019 at 18:44)</a>:</h4>
<p>Shoot, I forgot this was right after the release team meeting.</p>



<a name="180760479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760479">(Nov 14 2019 at 18:45)</a>:</h4>
<p>Want to sync up now?</p>



<a name="180760658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760658">(Nov 14 2019 at 18:47)</a>:</h4>
<p>OK, I'm around now -- not sure that there is much to say</p>



<a name="180760665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760665">(Nov 14 2019 at 18:47)</a>:</h4>
<p>At this point I still really want to see some data</p>



<a name="180760699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760699">(Nov 14 2019 at 18:47)</a>:</h4>
<p>It looks like I've gotten "close" to implementing the changes needed, I have to incorporate what <span class="user-mention" data-user-id="143274">@Amanieu</span> mentioned</p>



<a name="180760713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760713">(Nov 14 2019 at 18:47)</a>:</h4>
<p>And then probably bug <span class="user-mention" data-user-id="116883">@tmandry</span> to find out how to replicate their numbers but with a local build?</p>



<a name="180760719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760719">(Nov 14 2019 at 18:47)</a>:</h4>
<p>Not sure how hard that will be</p>



<a name="180760724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760724">(Nov 14 2019 at 18:47)</a>:</h4>
<p>Or I guess it doesn't have to be <em>me</em> who does that</p>



<a name="180760770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760770">(Nov 14 2019 at 18:48)</a>:</h4>
<p>In fact it seems like it would be better if it were someone else :)</p>



<a name="180760784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760784">(Nov 14 2019 at 18:48)</a>:</h4>
<p>Ah one thing I <em>did</em> want to talk to you about <span class="user-mention" data-user-id="120076">@Kyle Strand</span> was that I think we are ripe for an internals blog post</p>



<a name="180760792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760792">(Nov 14 2019 at 18:48)</a>:</h4>
<p>er, "Inside Rust"</p>



<a name="180760834"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180760834" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180760834">(Nov 14 2019 at 18:48)</a>:</h4>
<p>Maybe introducing the group with a bit of background, talking about how the first big discussion has to do with "C", and encouraging people to check out the hackmd, come to the zulip channel, something like that?</p>



<a name="180761142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761142">(Nov 14 2019 at 18:51)</a>:</h4>
<p>"All areas of life progressively come to resemble TODO lists" - me, inside my head, often</p>



<a name="180761211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761211">(Nov 14 2019 at 18:52)</a>:</h4>
<p>That sounds good. I'm sorry I haven't been active here this week. I need to take some days off work and catch up on the rest of my life.</p>



<a name="180761212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761212">(Nov 14 2019 at 18:52)</a>:</h4>
<p>:/</p>



<a name="180761228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761228">(Nov 14 2019 at 18:52)</a>:</h4>
<p>Oh please never apologize for that :)</p>



<a name="180761236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761236">(Nov 14 2019 at 18:52)</a>:</h4>
<p>To be clear, I think we're making good progress</p>



<a name="180761246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761246">(Nov 14 2019 at 18:52)</a>:</h4>
<p>I feel like at this point we've really bottomed out the pros/cons around the extern "C" thing fairly deeply</p>



<a name="180761262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761262">(Nov 14 2019 at 18:52)</a>:</h4>
<p>We're missing some data and we need to kind of have a chat and try to "make a call"</p>



<a name="180761274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761274">(Nov 14 2019 at 18:53)</a>:</h4>
<p>My third sentence was intended to be merely informational, not a continuation of the apology <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="180761431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761431">(Nov 14 2019 at 18:54)</a>:</h4>
<p>Are you interested in trying to write said blog post?</p>



<a name="180761509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761509">(Nov 14 2019 at 18:55)</a>:</h4>
<p>Maybe - I think that a higher-priority use of my time, when I have some, would be to get our "summaries &amp; current status" documents in a good state.</p>



<a name="180761524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761524">(Nov 14 2019 at 18:55)</a>:</h4>
<p>Especially if we hope to get new contributors to the discussion via this blog post</p>



<a name="180761612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761612">(Nov 14 2019 at 18:56)</a>:</h4>
<p>I agree about needing to have a chat to "make the call." I want to talk to Centril more about the "FFI is not a sandbox" point - he left a response in the HackMD saying the verbiage there was "not justified", but I'm still pretty convinced that it's a valid concern.</p>



<a name="180761644"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761644" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761644">(Nov 14 2019 at 18:56)</a>:</h4>
<p>one thing -- we do now have the two documents</p>



<a name="180761653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761653">(Nov 14 2019 at 18:56)</a>:</h4>
<p>I would prefer to deprecate the first one :)</p>



<a name="180761661"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761661" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761661">(Nov 14 2019 at 18:57)</a>:</h4>
<p>the two HackMDs?</p>



<a name="180761680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761680">(Nov 14 2019 at 18:57)</a>:</h4>
<p>at least two, but yeah</p>



<a name="180761689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761689">(Nov 14 2019 at 18:57)</a>:</h4>
<p>the one centril commented on is the older one</p>



<a name="180761696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761696">(Nov 14 2019 at 18:57)</a>:</h4>
<p>I'm curious if other people feel the second one is better :)</p>



<a name="180761711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761711">(Nov 14 2019 at 18:57)</a>:</h4>
<p>I don't have the "FFI is not a sandbox" thing in there</p>



<a name="180761713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761713">(Nov 14 2019 at 18:57)</a>:</h4>
<p>two documents about <code>extern "C"</code> considerations? Yes, at most one should be introduced to the <code>master</code> branch of the Repo.</p>



<a name="180761724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761724">(Nov 14 2019 at 18:57)</a>:</h4>
<p>at least not "explicitly", but I do have the</p>



<a name="180761745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761745">(Nov 14 2019 at 18:58)</a>:</h4>
<p>well I do have a section about exposing the "full" ABI</p>



<a name="180761798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761798">(Nov 14 2019 at 18:58)</a>:</h4>
<p>I think that quote could be added, potentially, though I'm not sure how imp't it is</p>



<a name="180761849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761849">(Nov 14 2019 at 18:58)</a>:</h4>
<p>Newer document: <a href="https://hackmd.io/JIsPlpIPR2yTC051m4Mliw" target="_blank" title="https://hackmd.io/JIsPlpIPR2yTC051m4Mliw">"meaning of the C abi"</a></p>



<a name="180761851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761851">(Nov 14 2019 at 18:58)</a>:</h4>
<p>I think the "sandbox" quote captures something important, but doesn't do so in a clear/unambiguous way (which makes sense because it's just a snippet from a personal email).</p>



<a name="180761905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761905">(Nov 14 2019 at 18:59)</a>:</h4>
<p>I think what could be improved in this doc a bit</p>



<a name="180761915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761915">(Nov 14 2019 at 18:59)</a>:</h4>
<p>hmm have to think about it</p>



<a name="180761996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180761996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180761996">(Nov 14 2019 at 19:00)</a>:</h4>
<p>well what I find compelling in this structure is reading the options at the end</p>



<a name="180762000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762000">(Nov 14 2019 at 19:00)</a>:</h4>
<p>maybe I should move them to the front :)</p>



<a name="180762015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762015">(Nov 14 2019 at 19:00)</a>:</h4>
<p>and trying to tell different "stories"--</p>



<a name="180762042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762042">(Nov 14 2019 at 19:00)</a>:</h4>
<p>anyway</p>



<a name="180762048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762048">(Nov 14 2019 at 19:00)</a>:</h4>
<p>I haven't made up my mind yet, in any case</p>



<a name="180762080"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762080" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762080">(Nov 14 2019 at 19:01)</a>:</h4>
<p>Though I am much more sympathetic to the "noexcept is an orthogonal consideration from ABI" POV that I thought I was</p>



<a name="180762090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762090">(Nov 14 2019 at 19:01)</a>:</h4>
<p>but I think it has to come paired with the more permissive defaults</p>



<a name="180762098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762098">(Nov 14 2019 at 19:01)</a>:</h4>
<p>i.e., if extern "C" fns make it UB to unwind by default</p>



<a name="180762105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762105">(Nov 14 2019 at 19:01)</a>:</h4>
<p>I think that combination is strictly worse than "C unwind" ABI</p>



<a name="180762397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762397">(Nov 14 2019 at 19:04)</a>:</h4>
<blockquote>
<p>Though I am much more sympathetic to the "noexcept is an orthogonal consideration from ABI" POV that I thought I was</p>
</blockquote>
<p>I think that at least partially captures the "FFI is not a sandbox" concern.</p>



<a name="180762405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762405">(Nov 14 2019 at 19:04)</a>:</h4>
<p>They're at least tightly coupled.</p>



<a name="180762452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762452">(Nov 14 2019 at 19:04)</a>:</h4>
<p>I absolutely agree that UB-by-default is strictly worse than not-UB-by-default.</p>



<a name="180762501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762501">(Nov 14 2019 at 19:05)</a>:</h4>
<p>And I think in that sense, making ABI boundaries have some "sandbox" qualities _is_ in line with Rust's goals and language-values.</p>



<a name="180762797"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762797" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762797">(Nov 14 2019 at 19:08)</a>:</h4>
<p>Or, to remove the word "sandbox" entirely:</p>
<ul>
<li>FFI (in any language) should not protect the user from well-defined parts of the ABI being used, <em>even if</em> those parts of the ABI are "problematic" in some way (as exceptions arguably are), <em>but</em>...</li>
<li>Protecting the user from undefined behavior is part of Rust's core values, and FFI is not <em>inherently</em> an opt-out from that protection.</li>
</ul>



<a name="180762952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180762952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180762952">(Nov 14 2019 at 19:09)</a>:</h4>
<p>In any case, I think this is a reasonable TODO list for me, with a soft deadline of...let's say this time next week:</p>
<ul>
<li>
<p>"summary and status" docs</p>
<p>- Reorganize<br>
- Capture any important conversations held in Zulip that aren't in the repo yet</p>
</li>
<li>
<p>"Not a sandbox" issue</p>
<p>- Discuss w/ Centril - what is meant by "not justified"? Try to clarify my understanding of the concern, confirm that Centril shares this understanding (regardless of agreeing or not)<br>
- Draft section for "meaning of the C abi" doc</p>
</li>
<li>
<p>Draft blog post for "Inside Rust"</p>
</li>
</ul>



<a name="180763136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763136">(Nov 14 2019 at 19:11)</a>:</h4>
<blockquote>
<p>I think that at least partially captures the "FFI is not a sandbox" concern.</p>
</blockquote>
<p>I agree</p>



<a name="180763140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763140">(Nov 14 2019 at 19:11)</a>:</h4>
<p>That's roughly in order of what I think my priorites ought to be.</p>



<a name="180763189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763189">(Nov 14 2019 at 19:11)</a>:</h4>
<p>I don't think I would waste a lot of time scraping zulip</p>



<a name="180763202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763202">(Nov 14 2019 at 19:12)</a>:</h4>
<p>but I do think that updating the repo is maybe good</p>



<a name="180763252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763252">(Nov 14 2019 at 19:12)</a>:</h4>
<p>in particular, our roadmap seems wrong</p>



<a name="180763259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763259">(Nov 14 2019 at 19:12)</a>:</h4>
<p>i.e., we have a "step 0" I thought was settled</p>



<a name="180763263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763263">(Nov 14 2019 at 19:12)</a>:</h4>
<p>but it seems is not</p>



<a name="180763266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763266">(Nov 14 2019 at 19:12)</a>:</h4>
<p>and we've not updated that</p>



<a name="180763276"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763276" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763276">(Nov 14 2019 at 19:12)</a>:</h4>
<p>("figuring out the overall direction")</p>



<a name="180763916"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763916" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763916">(Nov 14 2019 at 19:18)</a>:</h4>
<p>What I want to try to do vis-a-vis Zulip is maintain a document that we can point to such that anyone who reads it (whether they're newcomers or haven't visited the stream in a while) should feel equipped to participate in the conversation without needing to read too far back in Zulip history.</p>



<a name="180763987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180763987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180763987">(Nov 14 2019 at 19:18)</a>:</h4>
<p>I think my original approach of "summarize each week's Zulip activity" may not be the most efficient way to do that, but I'd still like to find some way to accomplish the goal.</p>



<a name="180764239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764239">(Nov 14 2019 at 19:21)</a>:</h4>
<p>Yes.</p>



<a name="180764246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764246">(Nov 14 2019 at 19:21)</a>:</h4>
<p>I do think that's a super good goal</p>



<a name="180764261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764261">(Nov 14 2019 at 19:21)</a>:</h4>
<p>I guess what I'm contending .. hmm, what am I contending</p>



<a name="180764273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764273">(Nov 14 2019 at 19:21)</a>:</h4>
<p>One observation is that while I like the hackmd approach, I do often wish for a "go deeper" option</p>



<a name="180764281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764281">(Nov 14 2019 at 19:21)</a>:</h4>
<p>A wiki is a plausible structure here</p>



<a name="180764286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764286">(Nov 14 2019 at 19:21)</a>:</h4>
<p>(We could even use GH's wikis)</p>



<a name="180764359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764359">(Nov 14 2019 at 19:22)</a>:</h4>
<p>i.e., I'd like to start from "here are the proposals and some pros and cons"</p>



<a name="180764384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764384">(Nov 14 2019 at 19:22)</a>:</h4>
<p>and be able to click from a given pro to learn more about the thing in question</p>



<a name="180764392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764392">(Nov 14 2019 at 19:22)</a>:</h4>
<p>but I also feel a "woah diminishing returns" flag going on</p>



<a name="180764397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764397">(Nov 14 2019 at 19:22)</a>:</h4>
<p>Yes</p>



<a name="180764404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764404">(Nov 14 2019 at 19:22)</a>:</h4>
<p>Hmmm</p>



<a name="180764406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764406">(Nov 14 2019 at 19:22)</a>:</h4>
<p>lots of work to organize this information and not obviously worth the effort :)</p>



<a name="180764439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764439">(Nov 14 2019 at 19:23)</a>:</h4>
<p>though if we found a good structure, it might be less work overall</p>



<a name="180764452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764452">(Nov 14 2019 at 19:23)</a>:</h4>
<p>and I am deeply concerned about the way our current practices</p>



<a name="180764454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764454">(Nov 14 2019 at 19:23)</a>:</h4>
<p>Well, to be fair, the topics in the stream are decently well named, so anyone interested in the <em>history</em> of a given question can probably find what they want.</p>



<a name="180764458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764458">(Nov 14 2019 at 19:23)</a>:</h4>
<p>leave us with a very confusing "design trail"</p>



<a name="180764473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764473">(Nov 14 2019 at 19:23)</a>:</h4>
<p>I want to be able to come back to this decision in a year, two years, etc, and clearly lay out what we took into account</p>



<a name="180764485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764485">(Nov 14 2019 at 19:23)</a>:</h4>
<p>Yes!</p>



<a name="180764486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764486">(Nov 14 2019 at 19:23)</a>:</h4>
<blockquote>
<p>Well, to be fair, the topics in the stream are decently well named, so anyone interested in the <em>history</em> of a given question can probably find what they want.</p>
</blockquote>
<p>well I sort of imagine that</p>



<a name="180764494"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764494" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764494">(Nov 14 2019 at 19:23)</a>:</h4>
<p>the wiki page would link to zulip topics</p>



<a name="180764499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764499">(Nov 14 2019 at 19:23)</a>:</h4>
<p>i.e., that's the "deepest"</p>



<a name="180764569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764569">(Nov 14 2019 at 19:24)</a>:</h4>
<p>so the wiki page might just be roughly what's in the current hackmd, but also have links to zulip topics where you can read more</p>



<a name="180764590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764590">(Nov 14 2019 at 19:24)</a>:</h4>
<p>Agreed. That's what I did in my first "summary" doc, but unfortunately that was probably the most time-consuming aspect</p>



<a name="180764597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764597">(Nov 14 2019 at 19:24)</a>:</h4>
<p>or rather, the "sections" of the current hackmd might each be a wiki page</p>



<a name="180764605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764605">(Nov 14 2019 at 19:24)</a>:</h4>
<p>Hm....it would be nice to be able to "tag" old Zulip messages.</p>



<a name="180764610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764610">(Nov 14 2019 at 19:24)</a>:</h4>
<p>well, you could just link to the topics in general</p>



<a name="180764615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764615">(Nov 14 2019 at 19:24)</a>:</h4>
<p>and not try to link to specific messages within</p>



<a name="180764620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764620">(Nov 14 2019 at 19:24)</a>:</h4>
<p>like "this was discussed here"</p>



<a name="180764635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764635">(Nov 14 2019 at 19:24)</a>:</h4>
<p>I'm imagining like</p>



<a name="180764704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764704">(Nov 14 2019 at 19:25)</a>:</h4>
<h3>Interaction with <code>-Cpanic=abort</code> and UB</h3>
<p>Today, the <code>-Cpanic=abort</code> feature works by changing <code>panic!()</code> to cause an immediate abort at the site of panic. This in turn means we can remove all the "landing pads" and thus remove the impact of unwinding completely.</p>
<p>However, <strong>if the source of the unwinding is foreign code that is not possible</strong>. Instead, if we wish to avoid UB, we have to add landing pads to the call sites of any foreign function that may unwind, such that we can abort when the unwinding enters into a Rust frame. Note that all designs include ways to indicate foreign functions that cannot unwind, though they vary in defaults and approach. Inserting these landing pads has a certain cost, though it is less than the full cost of <code>-Cpanic=unwind</code> (since in that case landing pads are required on <strong>all</strong> call sites, not just foreign call sites).</p>
<p>You might ask "why not just have it be UB to invoke a foreign function that unwinds with <code>-Cpanic=abort</code>?" The problem here is that then you can have libraries which compile under both modes but which produce UB when executed with <code>-Cpanic=abort</code>. If we install "abort guards", those same libraries would merely abort at runtime, which is much more noticeable.</p>
<p>If you come from C++, this might not seem like a big deal. After all, mixing <code>-fexceptions</code> code with code with <code>-fno-exceptions</code> code is going to mess everything up. But it's the kind of low-level footgun we'd prefer to avoid in Rust if we can.</p>
<p>Discussed on:</p>
<ul>
<li>Zulip topic A</li>
<li>Zulip topic B</li>
</ul>



<a name="180764716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764716">(Nov 14 2019 at 19:25)</a>:</h4>
<p>maybe that's a ton of work to keep up to date too :)</p>



<a name="180764795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180764795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180764795">(Nov 14 2019 at 19:26)</a>:</h4>
<blockquote>
<p>I want to be able to come back to this decision in a year, two years, etc, and clearly lay out what we took into account</p>
</blockquote>
<p>also, to be clear, I think we're doing way better than ever before here</p>



<a name="180765035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180765035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180765035">(Nov 14 2019 at 19:28)</a>:</h4>
<p>Agreed - when discussing my original RFCs, I found several old relevant GitHub threads <em>quite</em> late in the process</p>



<a name="180766754"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180766754" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180766754">(Nov 14 2019 at 19:44)</a>:</h4>
<p>I think as a first pass, making that map from design questions to Zulip-topics is more important than writing new "summary" verbiage for each question.</p>



<a name="180766806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180766806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180766806">(Nov 14 2019 at 19:44)</a>:</h4>
<p>The summarizing effort can then be done by anyone at any time</p>



<a name="180766830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180766830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180766830">(Nov 14 2019 at 19:44)</a>:</h4>
<p>If indeed it's even necessary.</p>



<a name="180767273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180767273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180767273">(Nov 14 2019 at 19:48)</a>:</h4>
<p>Anyway, for now I'll plan on following my "TODO" list above, with the caveat that I'll try to keep my time investment into "Zulip summary/links" docs minimal.</p>



<a name="180783166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180783166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180783166">(Nov 14 2019 at 22:36)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> "not justified" in the sense that a claim is being made like "this is the way it is" without the "why"</p>



<a name="180978744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180978744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180978744">(Nov 18 2019 at 00:08)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Here's my effort to remove the assumption that we'll move forward with <code>"C unwind"</code>: <a href="https://github.com/rust-lang/project-ffi-unwind/pull/18" target="_blank" title="https://github.com/rust-lang/project-ffi-unwind/pull/18">https://github.com/rust-lang/project-ffi-unwind/pull/18</a></p>



<a name="180981664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180981664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180981664">(Nov 18 2019 at 01:43)</a>:</h4>
<p>And here is my links-to-Zulip PR: <a href="https://github.com/rust-lang/project-ffi-unwind/pull/19" target="_blank" title="https://github.com/rust-lang/project-ffi-unwind/pull/19">https://github.com/rust-lang/project-ffi-unwind/pull/19</a></p>



<a name="180981864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180981864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180981864">(Nov 18 2019 at 01:49)</a>:</h4>
<p>And one more: <a href="https://github.com/rust-lang/project-ffi-unwind/pull/20" target="_blank" title="https://github.com/rust-lang/project-ffi-unwind/pull/20">https://github.com/rust-lang/project-ffi-unwind/pull/20</a></p>



<a name="180981987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/180981987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#180981987">(Nov 18 2019 at 01:52)</a>:</h4>
<p>I'm going to leave off w/ PRs for the time being. I am wondering if the <code>project-planning</code> document (with some modifications) could work as the primary "current status" document; what do you think?</p>



<a name="181005661"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181005661" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181005661">(Nov 18 2019 at 11:02)</a>:</h4>
<p>the difference is basically whether to have the table or whether to have the list of checkboxes with specific ongoing tasks?</p>



<a name="181005684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181005684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181005684">(Nov 18 2019 at 11:02)</a>:</h4>
<p>I think either could be fine</p>



<a name="181005769"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181005769" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181005769">(Nov 18 2019 at 11:03)</a>:</h4>
<p>I merged <a href="https://github.com/rust-lang/project-ffi-unwind/issues/18" target="_blank" title="https://github.com/rust-lang/project-ffi-unwind/issues/18">rust-lang/project-ffi-unwind#18</a>  but I think the others have conflicts, <span class="user-mention" data-user-id="120076">@Kyle Strand</span></p>



<a name="181134537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181134537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181134537">(Nov 19 2019 at 17:28)</a>:</h4>
<blockquote>
<p>the difference is basically whether to have the table or whether to have the list of checkboxes with specific ongoing tasks?</p>
</blockquote>
<p>As I understood it, they're not really overlapping; the table is for project-scope, while the list is for immediate action items</p>



<a name="181134839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181134839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181134839">(Nov 19 2019 at 17:31)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> thanks; the conflicts are resolved</p>



<a name="181328909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181328909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181328909">(Nov 21 2019 at 17:48)</a>:</h4>
<p>Hey folks, just a heads up that I have an appointment scheduled against our regular meeting time. Just to kick things off asynchronously:</p>
<ul>
<li>DWARF unwinding-related PRs are making their way through cranelift, so the time when we _can_ use unwinding information is approaching, however...</li>
<li>For the initial API of our edge compute product, it's looking like we can get away without having any callbacks, which reduces the timeline pressure we had for getting something stabilized. At its most complicated, our stack will look like <code>Rust -&gt; FFI -&gt; Rust</code>, which is a scenario that can be handled with a single <code>catch_unwind</code>.</li>
<li>Wasm interface types (<a href="https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.md" target="_blank" title="https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.md">https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.md</a>) is likely to be the next thing on our roadmap that's blocked on cross-FFI unwinding, as the current design requires callbacks for <code>malloc</code> and <code>free</code> equivalents. It's not clear what the timeline of this is, though.</li>
</ul>



<a name="181570436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570436">(Nov 21 2019 at 18:33)</a>:</h4>
<p><span class="user-mention" data-user-id="237472">@acfoltzer</span> can you elaborate on the connection between malloc/free  and unwinding?</p>



<a name="181570575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570575">(Nov 21 2019 at 18:34)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I think you know my status already, but just to be explicit: I did do the "Zulip summary" task (my PRs), and I did have my conversation with Centril; I did not yet add anything to the "meaning of extern 'C'" doc, nor did I draft a blog post</p>



<a name="181570617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570617">(Nov 21 2019 at 18:34)</a>:</h4>
<p>Actually I don't know the status :)</p>



<a name="181570619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570619">(Nov 21 2019 at 18:34)</a>:</h4>
<p>I'm quite behind</p>



<a name="181570629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570629">(Nov 21 2019 at 18:34)</a>:</h4>
<p>BTW, I'll be away next week for vacation</p>



<a name="181570655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570655">(Nov 21 2019 at 18:35)</a>:</h4>
<p>But that all sounds pretty good, I guess we should merge some PRs?</p>



<a name="181570681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570681">(Nov 21 2019 at 18:35)</a>:</h4>
<p>In my view the single biggest remaining item is still to improve that branch I started and get some measurements?</p>



<a name="181570713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570713">(Nov 21 2019 at 18:35)</a>:</h4>
<p>I guess one question might be if there were any take-aways from conversation with <span class="user-mention" data-user-id="126931">@centril</span> you can crystallize :)</p>



<a name="181570719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570719">(Nov 21 2019 at 18:35)</a>:</h4>
<p>or maybe it's in the PRs</p>



<a name="181570797"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570797" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570797">(Nov 21 2019 at 18:36)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span>  -- I think our conversation needs more participation from me</p>



<a name="181570817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570817">(Nov 21 2019 at 18:36)</a>:</h4>
<p>(but I'm trying to cut down on my unread emails atm... <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span> )</p>



<a name="181570849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570849">(Nov 21 2019 at 18:36)</a>:</h4>
<blockquote>
<p>In my view the single biggest remaining item is still to improve that branch I started and get some measurements?</p>
</blockquote>
<p>The <code>rustc</code> branch?</p>



<a name="181570907"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570907" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570907">(Nov 21 2019 at 18:37)</a>:</h4>
<p>I did not summarize the discussion w/ Centril in the PRs I've already submitted. I think the conversation was reasonably short &amp; to the point, but I do still plan to write up a short summary</p>



<a name="181570917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570917">(Nov 21 2019 at 18:37)</a>:</h4>
<p>Maybe I can even do that today</p>



<a name="181570960"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181570960" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181570960">(Nov 21 2019 at 18:38)</a>:</h4>
<blockquote>
<p>The <code>rustc</code> branch?</p>
</blockquote>
<p>confirm</p>



<a name="181571001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571001">(Nov 21 2019 at 18:38)</a>:</h4>
<p>One thing I could do is try to write out what steps are needed in my view</p>



<a name="181571002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571002">(Nov 21 2019 at 18:38)</a>:</h4>
<blockquote>
<p>(but I'm trying to cut down on my unread emails atm... <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span> )</p>
</blockquote>
<p>I sympathize greatly!</p>



<a name="181571082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571082">(Nov 21 2019 at 18:39)</a>:</h4>
<p>(I'm actually not entirely sure)</p>



<a name="181571214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571214">(Nov 21 2019 at 18:40)</a>:</h4>
<p>Do you intend your branch to be a possible prototype for an actual recommended <code>rustc</code> change (i.e. as part of a future PR)? Or is it <em>just</em> for measuring?</p>



<a name="181571371"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571371" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571371">(Nov 21 2019 at 18:42)</a>:</h4>
<p>sorry, scarfing down a hasty lunch</p>



<a name="181571383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571383">(Nov 21 2019 at 18:42)</a>:</h4>
<p>uh, I think it would be both, but I'm more interested in the measurement</p>



<a name="181571407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571407">(Nov 21 2019 at 18:43)</a>:</h4>
<p>anyway th eonly work that's left, I think, is to tweak which fns get which attributes</p>



<a name="181571637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571637">(Nov 21 2019 at 18:45)</a>:</h4>
<p>I would like to see an actual execution where a throw from C++ gets intercepted :)</p>



<a name="181571660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571660">(Nov 21 2019 at 18:45)</a>:</h4>
<p>though I guess that this means adding some attributes which can be used to figure out how to unwind</p>



<a name="181571674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571674">(Nov 21 2019 at 18:45)</a>:</h4>
<p>and given that the only purpose to unwinding is so we can abort..</p>



<a name="181571688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571688">(Nov 21 2019 at 18:46)</a>:</h4>
<p>I'm not sure if those attributes actually make that much sense? I guess it depends on the platform, too</p>



<a name="181571796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571796">(Nov 21 2019 at 18:46)</a>:</h4>
<p>"how" to unwind?</p>



<a name="181571854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571854">(Nov 21 2019 at 18:48)</a>:</h4>
<p>Maybe I need to just take a look at the branch</p>



<a name="181571956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571956">(Nov 21 2019 at 18:48)</a>:</h4>
<p>yes, specifically the <code>uwtable</code> attribute</p>



<a name="181571964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571964">(Nov 21 2019 at 18:48)</a>:</h4>
<p>anyway maybe I'll open an issue and leave some notes</p>



<a name="181571971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571971">(Nov 21 2019 at 18:48)</a>:</h4>
<p>I could imagine trying to recruit someone to push on this</p>



<a name="181571980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181571980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181571980">(Nov 21 2019 at 18:49)</a>:</h4>
<p>presuming none of us have the time</p>



<a name="181572006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181572006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181572006">(Nov 21 2019 at 18:49)</a>:</h4>
<p>I guess I can open an issue on ... rust-lang/rust? maybe project-ffi-unwind? :)</p>



<a name="181572089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181572089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181572089">(Nov 21 2019 at 18:50)</a>:</h4>
<p><code>project-ffi-unwind</code> seems appropriate, though low-visibility...</p>



<a name="181572141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181572141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181572141">(Nov 21 2019 at 18:50)</a>:</h4>
<p>though that may be alleviated by posting a blog post when I get around to drafting it</p>



<a name="181572444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181572444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181572444">(Nov 21 2019 at 18:54)</a>:</h4>
<p>Niko, would you like to revise the open RFC to incorporate the changes to the "scope" verbiage, or should I?</p>



<a name="181587455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181587455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181587455">(Nov 21 2019 at 21:43)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="237472">acfoltzer</span> can you elaborate on the connection between malloc/free  and unwinding?</p>
</blockquote>
<p>sorry, I had to run shortly after writing this message; malloc and free are the primary use cases for callbacks into a Wasm guest from Rust code, which leave open the possibility that the guest callback could fault and leave Rust frames on the stack.</p>



<a name="181587554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181587554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181587554">(Nov 21 2019 at 21:44)</a>:</h4>
<p>specifically, suppose you want to copy a string into the Wasm linear memory from outside Wasm; you need to know where to put those bytes in memory. either the guest provides a pointer to a buffer and a maximum size, or you can call back into the guest's <code>malloc</code>, and use the pointer it gives back to you</p>



<a name="181587708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181587708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181587708">(Nov 21 2019 at 21:46)</a>:</h4>
<p>currently it's looking like we'll be doing the former approach for the first draft of the API, but the interface-types proposal uses malloc/free as part of the adapter expressions that are used to know how to move complex types between modules</p>



<a name="181587764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/181587764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#181587764">(Nov 21 2019 at 21:47)</a>:</h4>
<p>oh whoops, the quote feature doesn't ping; cc <span class="user-mention" data-user-id="116009">@nikomatsakis</span></p>



<a name="182688451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/182688451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#182688451">(Dec 05 2019 at 18:32)</a>:</h4>
<p>hey folks, no updates from me again this week; still heads down in building out our product. the outlook on our need for FFI unwinding remains the same as my last update: we won't need it in the short term due to some self-imposed restrictions on our use of Wasm, but will need it in the longer term to keep up with additional Wasm specs like interface-types</p>



<a name="182688652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/182688652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#182688652">(Dec 05 2019 at 18:34)</a>:</h4>
<p>Hi all =) I didn't really do anything since last week either</p>



<a name="182688672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/182688672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#182688672">(Dec 05 2019 at 18:34)</a>:</h4>
<p>I have been sick, plus the holidays, so no update here either :/</p>



<a name="182689584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/182689584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#182689584">(Dec 05 2019 at 18:44)</a>:</h4>
<p>I'm back from travelling</p>



<a name="182690702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/182690702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#182690702">(Dec 05 2019 at 18:55)</a>:</h4>
<p>Sorry, got pulled into something -- I'd <strong>still</strong> like to get some "figures" on what impact these results have on code size.</p>



<a name="182690722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/182690722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#182690722">(Dec 05 2019 at 18:55)</a>:</h4>
<p>I did not find time to write up any kind of instructions on what still needs to be done in that regard</p>



<a name="182693293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/182693293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#182693293">(Dec 05 2019 at 19:21)</a>:</h4>
<p>(To that end, I've spent the last little bit trying to get a new desktop setup to build Rust :)</p>



<a name="183288135"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288135" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288135">(Dec 12 2019 at 18:41)</a>:</h4>
<p>Hey <span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span></p>



<a name="183288142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288142">(Dec 12 2019 at 18:41)</a>:</h4>
<p>So I've <em>still</em> not had time to do anything</p>



<a name="183288169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288169">(Dec 12 2019 at 18:42)</a>:</h4>
<p>But I did have an interesting chat with <span class="user-mention" data-user-id="239881">@Josh Triplett</span></p>



<a name="183288218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288218">(Dec 12 2019 at 18:42)</a>:</h4>
<p>I feel like we need to organize a meeting to have an in-depth chat with lang team; maybe we should schedule it for very early January or something</p>



<a name="183288230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288230">(Dec 12 2019 at 18:42)</a>:</h4>
<p>and give ourselves a deadline to get data or just make the decision without data</p>



<a name="183288322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288322">(Dec 12 2019 at 18:43)</a>:</h4>
<p>The main thing I got from my chat with <span class="user-mention" data-user-id="239881">@Josh Triplett</span> was that one use case we should be sure we are <em>able</em> to accommodate is the case where it is UB to unwind and hence we have <strong>zero</strong> extract overhead. I think that if we declared that "C" can unwind, the way we would accommodate that is by having every <code>extern "C"</code> fn declared with <code>#[unwind(never)]</code> or some such annotation.</p>



<a name="183288353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288353">(Dec 12 2019 at 18:43)</a>:</h4>
<p>This might suffice, <span class="user-mention" data-user-id="239881">@Josh Triplett</span> was thinking primarily of cases where people are literally counting bytes, which I imagine can afford a bit of extra annotation, but it's still worth thinking about.</p>



<a name="183288411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288411">(Dec 12 2019 at 18:44)</a>:</h4>
<p>Or maybe there wants to be a <code>-Cpanic=ub</code> flag =)</p>



<a name="183288419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288419">(Dec 12 2019 at 18:44)</a>:</h4>
<p>Or of course the <code>C+unwind</code> design</p>



<a name="183288489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288489">(Dec 12 2019 at 18:45)</a>:</h4>
<p>Sorry, no update from me again. I do want to circle back on RFC <a href="https://github.com/rust-lang/rust/issues/2797" target="_blank" title="https://github.com/rust-lang/rust/issues/2797">#2797</a>, the one announcing the project group, and see if we can get it merged soon.</p>



<a name="183288521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288521">(Dec 12 2019 at 18:45)</a>:</h4>
<p>sorry to be late, I'm at the Bytecode Alliance meeting (with Josh, incidentally)</p>



<a name="183288964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183288964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183288964">(Dec 12 2019 at 18:49)</a>:</h4>
<p>By "the case where it is UB to unwind", do you mean where the user _wants_ it to be UB, or where it's undefined for some other reason?</p>



<a name="183289057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183289057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183289057">(Dec 12 2019 at 18:50)</a>:</h4>
<blockquote>
<p>Sorry, no update from me again. I do want to circle back on RFC <a href="https://github.com/rust-lang/rust/issues/2797" target="_blank" title="https://github.com/rust-lang/rust/issues/2797">#2797</a>, the one announcing the project group, and see if we can get it merged soon.</p>
</blockquote>
<p>oh geez :)</p>



<a name="183289080"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183289080" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183289080">(Dec 12 2019 at 18:51)</a>:</h4>
<blockquote>
<p>By "the case where it is UB to unwind", do you mean where the user _wants_ it to be UB, or where it's undefined for some other reason?</p>
</blockquote>
<p>I mean where the user wants it to be UB, because they want the compiler to optimize everything away</p>



<a name="183289098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183289098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183289098">(Dec 12 2019 at 18:51)</a>:</h4>
<p>in particular, they do not want the "shim" that aborts, no matter how small it is</p>



<a name="183289115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183289115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183289115">(Dec 12 2019 at 18:51)</a>:</h4>
<p>My belief (yet to be verified with data) is that such a shim will be negligible for the vast majority of use cases</p>



<a name="183289152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183289152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183289152">(Dec 12 2019 at 18:51)</a>:</h4>
<p><span class="user-mention" data-user-id="239881">@Josh Triplett</span>'s point is that there will always be cases for which <em>no</em> increase is acceptable, and we should be able to accommodate that</p>



<a name="183289172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183289172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183289172">(Dec 12 2019 at 18:51)</a>:</h4>
<p>I think that sounds correct, but I also suspect that some add'l effort is ok in such cases</p>



<a name="183289331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183289331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183289331">(Dec 12 2019 at 18:53)</a>:</h4>
<p>I think giving users the <em>ability</em> to avoid such shims makes the cost less important. In general, this is a cost that the "systems programming" world has already opted into; the idea is that exceptions are "zero cost unless they're actually used".</p>



<a name="183290588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183290588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183290588">(Dec 12 2019 at 19:05)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> I think the ergonomics and defaults matter a lot there</p>



<a name="183290693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183290693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183290693">(Dec 12 2019 at 19:06)</a>:</h4>
<p>I think it's a design failure if people start adding <code>#[unwinds(never)]</code> annotations reflexively because of a concern about cost</p>



<a name="183290720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183290720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183290720">(Dec 12 2019 at 19:07)</a>:</h4>
<p>but if people do it because they're literally counting bytes, seems ok</p>



<a name="183290919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183290919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183290919">(Dec 12 2019 at 19:09)</a>:</h4>
<p>I'm not sure where e.g. fuchsia would fall on such a spectrum</p>



<a name="183290933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183290933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183290933">(Dec 12 2019 at 19:09)</a>:</h4>
<p>anyway I think we should set ourselves some kind of deadline :)</p>



<a name="183291426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291426">(Dec 12 2019 at 19:14)</a>:</h4>
<p>I think we're in agreement, but I also think the broader "systems programming ecosystem" seems to consider landing pads "zero cost" already anyway. (E.g. C++ people will say "exceptions are zero-cost until you actually throw them.") So I think the risk of people adding <code>unwinds(never)</code> by default is low.</p>



<a name="183291549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291549">(Dec 12 2019 at 19:15)</a>:</h4>
<p>As for a deadline... I'm slightly concerned that without <a href="https://github.com/rust-lang/rust/issues/2797" target="_blank" title="https://github.com/rust-lang/rust/issues/2797">#2797</a> being merged, i.e., without a formal announcement of the project group, people will feel that they didn't have an opportunity to participate, which I get the sense is something you're trying to improve across the Rust project.</p>



<a name="183291715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291715">(Dec 12 2019 at 19:17)</a>:</h4>
<p>So I am tempted to say we can't set a deadline until, say, a week after formally announcing the group; that way, if new voices chime in, we can take that into account.</p>



<a name="183291757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291757">(Dec 12 2019 at 19:17)</a>:</h4>
<p>Interesting. Well, that's just busy work. I can try to do it soon</p>



<a name="183291773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291773">(Dec 12 2019 at 19:18)</a>:</h4>
<p>I hadn't considered that people might not realize discussion was active</p>



<a name="183291829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291829">(Dec 12 2019 at 19:18)</a>:</h4>
<p>In any case I think we will want to write up a good blog post</p>



<a name="183291832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291832">(Dec 12 2019 at 19:18)</a>:</h4>
<p>That summaries the arguments</p>



<a name="183291837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291837">(Dec 12 2019 at 19:18)</a>:</h4>
<p>It'd be a good idea to do that <em>before</em> the meeting is scheduled</p>



<a name="183291851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291851">(Dec 12 2019 at 19:18)</a>:</h4>
<p>Yes</p>



<a name="183291853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183291853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183291853">(Dec 12 2019 at 19:18)</a>:</h4>
<p>so that people can start to react and we can take some of that into account during lang team discussion</p>



<a name="183292001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292001">(Dec 12 2019 at 19:20)</a>:</h4>
<p>(I guess I can try to update some of the language based on the comment threads, too)</p>



<a name="183292002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292002">(Dec 12 2019 at 19:20)</a>:</h4>
<p>Hm, let's try to have blog ready to post and RFC merged by this time next week, then the first week of January schedule a meeting w/ Lang team</p>



<a name="183292009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292009">(Dec 12 2019 at 19:20)</a>:</h4>
<p>mm I'm not sure if that's realistic :)</p>



<a name="183292012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292012">(Dec 12 2019 at 19:20)</a>:</h4>
<p>it might be</p>



<a name="183292025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292025">(Dec 12 2019 at 19:20)</a>:</h4>
<p>I also still think data would be really, really great</p>



<a name="183292027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292027">(Dec 12 2019 at 19:20)</a>:</h4>
<p>I think the RFC is close and I can work on the blog post</p>



<a name="183292033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292033">(Dec 12 2019 at 19:20)</a>:</h4>
<p>This conversion will be much more informed if we can say 1% overhead or something like that</p>



<a name="183292049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292049">(Dec 12 2019 at 19:20)</a>:</h4>
<p>Do you think that needs to be in the blog post?</p>



<a name="183292061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292061">(Dec 12 2019 at 19:21)</a>:</h4>
<p>I think it would be better, yes</p>



<a name="183292063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292063">(Dec 12 2019 at 19:21)</a>:</h4>
<p>(By "the RFC" I just mean the announcement one that's already open)</p>



<a name="183292067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292067">(Dec 12 2019 at 19:21)</a>:</h4>
<p>Yes, I understood</p>



<a name="183292088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292088">(Dec 12 2019 at 19:21)</a>:</h4>
<p>it probably just takes a few hours of focus to get data</p>



<a name="183292096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292096">(Dec 12 2019 at 19:21)</a>:</h4>
<p>/me ponders</p>



<a name="183292126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292126">(Dec 12 2019 at 19:22)</a>:</h4>
<p>I got stuck the lsat time because my desktop was dead</p>



<a name="183292128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292128">(Dec 12 2019 at 19:22)</a>:</h4>
<p>Okay. Is that few hours mostly for getting your fork of <code>rustc</code> into a state for taking the metrics?</p>



<a name="183292169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292169">(Dec 12 2019 at 19:22)</a>:</h4>
<p>but I've got an updated one up and going now :)</p>



<a name="183292172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292172">(Dec 12 2019 at 19:22)</a>:</h4>
<blockquote>
<p>Okay. Is that few hours mostly for getting your fork of <code>rustc</code> into a state for taking the metrics?</p>
</blockquote>
<p>yeah</p>



<a name="183292181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292181">(Dec 12 2019 at 19:22)</a>:</h4>
<p>I may be underestimating of course</p>



<a name="183292189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292189">(Dec 12 2019 at 19:22)</a>:</h4>
<p>but I <em>think</em> it's close</p>



<a name="183292196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292196">(Dec 12 2019 at 19:22)</a>:</h4>
<p>Hm, maybe this is a good time for me to dive in and try to help with that.</p>



<a name="183292499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292499">(Dec 12 2019 at 19:25)</a>:</h4>
<p>Well, I think we can get the announcement RFC merged, anyway, and I can start drafting a blog post with  &lt;TODO&gt; placeholder for when some data is available.</p>



<a name="183292805"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183292805" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183292805">(Dec 12 2019 at 19:29)</a>:</h4>
<p>Can you expand a bit on why the initial blog post should have data? Your original description sounded more like an announcement and invitation-to-participate; if that's the goal, I think making a note that we could use some help w/ the data-collection effort would actually be better than a final  result from that effort.</p>



<a name="183293147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183293147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183293147">(Dec 12 2019 at 19:32)</a>:</h4>
<p>I guess it depends</p>



<a name="183293156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183293156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183293156">(Dec 12 2019 at 19:32)</a>:</h4>
<p>I don't think data is required</p>



<a name="183293160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183293160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183293160">(Dec 12 2019 at 19:32)</a>:</h4>
<p>Maybe not worth blocking on</p>



<a name="183293193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183293193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183293193">(Dec 12 2019 at 19:33)</a>:</h4>
<p>I'm basically concerned about knee-jerk reactions</p>



<a name="183293206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183293206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183293206">(Dec 12 2019 at 19:33)</a>:</h4>
<p>True....</p>



<a name="183293312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183293312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183293312">(Dec 12 2019 at 19:34)</a>:</h4>
<p>Well, I'll try to be more available this week, and I'll start w/  getting the RFC comments addressed</p>



<a name="183293318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183293318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183293318">(Dec 12 2019 at 19:34)</a>:</h4>
<p>but I think if we leave a placeholder like "we really want to measure this" it is also fine</p>



<a name="183322400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183322400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183322400">(Dec 13 2019 at 02:06)</a>:</h4>
<p>(deleted)</p>



<a name="183695311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183695311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183695311">(Dec 17 2019 at 21:46)</a>:</h4>
<p>I had some family health issues come up and will not have as much time as I thought I would this week.</p>



<a name="183872206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183872206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183872206">(Dec 19 2019 at 18:35)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="116009">@nikomatsakis</span>, <span class="user-mention" data-user-id="237472">@acfoltzer</span> - nothing to report. I should have time to draft a blog post next week, since I'll be on leave for the holidays. Shall we plan to reconvene next year, on the 2nd?</p>



<a name="183872689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183872689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183872689">(Dec 19 2019 at 18:41)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="120076">@Kyle Strand</span> -- running slow today myself</p>



<a name="183872712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183872712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183872712">(Dec 19 2019 at 18:41)</a>:</h4>
<p>I think reconvening makes sense. My main next step -- which I'll do right now -- was going to be e-mailing to the lang team to make another effort to organize a time for in-depth disussion (both of this but also other topics)</p>



<a name="183872776"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183872776" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183872776">(Dec 19 2019 at 18:42)</a>:</h4>
<p>I feel like I've about given up on an attempt to gather data. I suppose I could try to measure the size of Fuchsia with my existing branch, as it's probably "pretty close" to what the cost would be.. maybe an upper bound, even.</p>



<a name="183872818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183872818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183872818">(Dec 19 2019 at 18:43)</a>:</h4>
<p>To that end, <span class="user-mention" data-user-id="116883">@tmandry</span>, how hard would it be for me to measure the size of a Fuchsia binary?</p>



<a name="183873387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183873387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183873387">(Dec 19 2019 at 18:49)</a>:</h4>
<p>(Whatever it was that you measured to get that 10% "binary size" figure)</p>



<a name="183876795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183876795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183876795">(Dec 19 2019 at 19:26)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I can measure one thing if you want, or I can point you to instructions to building a rust toolchain for fuchsia + building fuchsia with it</p>



<a name="183876844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183876844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183876844">(Dec 19 2019 at 19:26)</a>:</h4>
<p><span class="user-mention" data-user-id="116883">@tmandry</span> is it a pain to build with a custom rust toolchain? I basically wanted to do a build with this branch I made.</p>



<a name="183876900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183876900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183876900">(Dec 19 2019 at 19:27)</a>:</h4>
<p>well, it's just something that I think I still need to document ;)</p>



<a name="183876913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183876913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183876913">(Dec 19 2019 at 19:27)</a>:</h4>
<p>it's not a huge pain, though</p>



<a name="183876971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183876971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183876971">(Dec 19 2019 at 19:28)</a>:</h4>
<p>I'll throw some notes in a doc</p>



<a name="183898520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183898520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183898520">(Dec 20 2019 at 00:15)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> sent you an email, feel free to share any of it</p>



<a name="183898534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/183898534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#183898534">(Dec 20 2019 at 00:15)</a>:</h4>
<p>(sorry, I should document it in a more public place, but leaving tomorrow)</p>



<a name="184672666"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184672666" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184672666">(Jan 02 2020 at 18:31)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span class="user-mention" data-user-id="237472">@acfoltzer</span> Nothing much to report. I have started drafting a blog post, for which I've posted a link in <a class="stream-topic" data-stream-id="210922" href="/#narrow/stream/210922-project-ffi-unwind/topic/Blog.20post">#project-ffi-unwind &gt; Blog post</a> .</p>



<a name="184673286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673286">(Jan 02 2020 at 18:39)</a>:</h4>
<p>Hi :)</p>



<a name="184673346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673346">(Jan 02 2020 at 18:40)</a>:</h4>
<p>I was going to spend some time going over blog post and giving feedback</p>



<a name="184673361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673361">(Jan 02 2020 at 18:40)</a>:</h4>
<p>Sounds reasonable.</p>



<a name="184673379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673379">(Jan 02 2020 at 18:40)</a>:</h4>
<p>Do you have outstanding edits, <span class="user-mention" data-user-id="120076">@Kyle Strand</span> ?</p>



<a name="184673414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673414">(Jan 02 2020 at 18:41)</a>:</h4>
<p>I guess the other thing is to schedule a time to chat w/ lang team</p>



<a name="184673424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673424">(Jan 02 2020 at 18:41)</a>:</h4>
<p>We've now created a Monday "in depth meeting slot"</p>



<a name="184673477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673477">(Jan 02 2020 at 18:41)</a>:</h4>
<p>Does Monday at noon EST work for folks? (cc <span class="user-mention" data-user-id="237472">@acfoltzer</span>) -- I should create a doodle to find a good week</p>



<a name="184673530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673530">(Jan 02 2020 at 18:42)</a>:</h4>
<p>I don't have unpushed changes or anything, but the draft isn't complete</p>



<a name="184673548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673548">(Jan 02 2020 at 18:42)</a>:</h4>
<p>in particular I was thining I might make edits</p>



<a name="184673556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673556">(Jan 02 2020 at 18:42)</a>:</h4>
<p>noon EST Monday is okay.</p>



<a name="184673576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673576">(Jan 02 2020 at 18:42)</a>:</h4>
<p>Pushing edits to my branch would be fine.</p>



<a name="184673623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673623">(Jan 02 2020 at 18:43)</a>:</h4>
<p>I've just made you a collaborator on my fork</p>



<a name="184673749"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/184673749" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#184673749">(Jan 02 2020 at 18:44)</a>:</h4>
<p>ok</p>



<a name="185241240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185241240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185241240">(Jan 09 2020 at 18:33)</a>:</h4>
<p>Hi <span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> -- so -- I was thinking</p>



<a name="185241308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185241308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185241308">(Jan 09 2020 at 18:34)</a>:</h4>
<p>I've been wanting to schedule a lang team design meeting to present the details of "C" vs "C unwind" etc</p>



<a name="185241320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185241320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185241320">(Jan 09 2020 at 18:34)</a>:</h4>
<p>it seems to be surprisingly hard for us to prepare a concise summary though :) (complex ..)</p>



<a name="185241345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185241345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185241345">(Jan 09 2020 at 18:35)</a>:</h4>
<p>anyway I am wondering if it might hep to schedule like a 1 or 2h block to try to organize the information or plan ahead? not sure what's best.</p>



<a name="185241364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185241364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185241364">(Jan 09 2020 at 18:35)</a>:</h4>
<p>(also, sync time :)</p>



<a name="185241959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185241959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185241959">(Jan 09 2020 at 18:42)</a>:</h4>
<p>That sounds reasonable to me.</p>



<a name="185243006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185243006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185243006">(Jan 09 2020 at 18:53)</a>:</h4>
<p>I guess the trick is to find a time =)</p>



<a name="185244107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185244107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185244107">(Jan 09 2020 at 19:03)</a>:</h4>
<p>I am pretty flexible and can generally make time when others are available.</p>



<a name="185246411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185246411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185246411">(Jan 09 2020 at 19:28)</a>:</h4>
<p>some time next week then? I can setup a doodle I guess</p>



<a name="185246424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185246424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185246424">(Jan 09 2020 at 19:28)</a>:</h4>
<p>or maybe you can <span class="user-mention" data-user-id="120076">@Kyle Strand</span>, if you have a moment</p>



<a name="185246436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185246436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185246436">(Jan 09 2020 at 19:28)</a>:</h4>
<p>I do thnk it's worth allocating maybe even 2h for this</p>



<a name="185246454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185246454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185246454">(Jan 09 2020 at 19:29)</a>:</h4>
<p>I also think it should be a relatively small group perhaps -- like you and I could just do it</p>



<a name="185246711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185246711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185246711">(Jan 09 2020 at 19:31)</a>:</h4>
<p>Okay. Should I exclude weekends?</p>



<a name="185249451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185249451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185249451">(Jan 09 2020 at 20:00)</a>:</h4>
<p>yes :)</p>



<a name="185261279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185261279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185261279">(Jan 09 2020 at 22:05)</a>:</h4>
<p>hey folks, sorry I've missed the last few check-ins. vacation + big beginning of year planning meetings. I will be available next week for a meeting to feed into the lang team design</p>



<a name="185262969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185262969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185262969">(Jan 09 2020 at 22:25)</a>:</h4>
<p>oh, that'd be good</p>



<a name="185263014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185263014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185263014">(Jan 09 2020 at 22:26)</a>:</h4>
<p>the hope <span class="user-mention" data-user-id="237472">@acfoltzer</span> is that we will schedule a sync w/ team on monday Jan 20 at noon Boston time</p>



<a name="185263066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185263066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185263066">(Jan 09 2020 at 22:26)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> (you're making doodle for next week?)</p>



<a name="185263545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185263545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185263545">(Jan 09 2020 at 22:31)</a>:</h4>
<p>ah, Jan 20 is a holiday for me but I'd be able to make it</p>



<a name="185270623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185270623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185270623">(Jan 10 2020 at 00:05)</a>:</h4>
<p>Yes, making the doodle now</p>



<a name="185270828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185270828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185270828">(Jan 10 2020 at 00:08)</a>:</h4>
<p>Are there any other blocks of time we can immediately veto? What's the latest people can go?</p>



<a name="185270898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185270898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185270898">(Jan 10 2020 at 00:09)</a>:</h4>
<p>Currently I'm just filling in every two-hour block starting on every half-hour from 9:30am MST to 6pm (ending at 8pm) on every day of the week except where I have meetings</p>



<a name="185271109"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185271109" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185271109">(Jan 10 2020 at 00:13)</a>:</h4>
<p>And also leaving out the lang team and compiler team meeting times</p>



<a name="185271273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185271273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185271273">(Jan 10 2020 at 00:16)</a>:</h4>
<p>'kay, here 'tis: <a href="https://doodle.com/poll/x4c9xquauteew7gn" target="_blank" title="https://doodle.com/poll/x4c9xquauteew7gn">https://doodle.com/poll/x4c9xquauteew7gn</a></p>



<a name="185348330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185348330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185348330">(Jan 10 2020 at 20:30)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span></p>



<a name="185353227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185353227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185353227">(Jan 10 2020 at 21:25)</a>:</h4>
<p>done; thanks for the ping!</p>



<a name="185362047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185362047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185362047">(Jan 10 2020 at 23:43)</a>:</h4>
<p>whoosh, that was a very fine-grained poll :) looks like monday afternoon is maybe best...</p>



<a name="185446577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185446577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185446577">(Jan 12 2020 at 19:24)</a>:</h4>
<p><span class="user-mention" data-user-id="143274">@Amanieu</span> and <span class="user-mention" data-user-id="132920">@gnzlbg</span> , do you want to participate in the meeting discussed above, and if so, would 6:30 am UTC work for you?</p>



<a name="185446580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185446580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185446580">(Jan 12 2020 at 19:24)</a>:</h4>
<p>If that time doesn't work, please let us know and fill out the Doodle poll</p>



<a name="185446712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185446712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185446712">(Jan 12 2020 at 19:28)</a>:</h4>
<p>I've updated the doodle.</p>



<a name="185446730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185446730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185446730">(Jan 12 2020 at 19:29)</a>:</h4>
<p>Monday evening is looking good</p>



<a name="185447379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185447379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185447379">(Jan 12 2020 at 19:44)</a>:</h4>
<p>I've updated the doodle as well</p>



<a name="185448559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185448559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185448559">(Jan 12 2020 at 20:18)</a>:</h4>
<p>Thanks for the quick response! 6am UTC tomorrow it is.</p>



<a name="185448643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185448643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185448643">(Jan 12 2020 at 20:20)</a>:</h4>
<p>I've sent an invite to Niko, but I don't seem to have the rest of you in my email contacts list.</p>



<a name="185448798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185448798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185448798">(Jan 12 2020 at 20:25)</a>:</h4>
<p><a href="mailto:amanieu@gmail.com" title="mailto:amanieu@gmail.com">amanieu@gmail.com</a></p>



<a name="185448843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185448843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185448843">(Jan 12 2020 at 20:26)</a>:</h4>
<p>Also, the selected time on doodle is 8pm UTC. Not sure where you got 6am from?</p>



<a name="185465934"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185465934" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185465934">(Jan 13 2020 at 05:24)</a>:</h4>
<p>I was adding instead of subtracting to get UTC from my local time. Oops.</p>



<a name="185514117"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185514117" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185514117">(Jan 13 2020 at 17:16)</a>:</h4>
<p>I have a meeting 1:30h before this one, and it appears to be of unbounded length. I'll try to make it, but I'm not sure if it will work</p>



<a name="185522015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185522015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185522015">(Jan 13 2020 at 18:36)</a>:</h4>
<p>BTW I don't think the <em>lang-team</em> design meeting will happen until Feb due to MLK Jr Day here in the US</p>



<a name="185522023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185522023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185522023">(Jan 13 2020 at 18:36)</a>:</h4>
<p>but I still think we should try to get this done</p>



<a name="185844191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185844191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185844191">(Jan 16 2020 at 18:29)</a>:</h4>
<p>Hey folks, I don't really have anything to add since our call. Still pretty underwater working on our product, but unwinding support is making its way into cranelift</p>



<a name="185844695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185844695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185844695">(Jan 16 2020 at 18:34)</a>:</h4>
<p>I also have nothing to add since our call. I have not had time yet to translate our thoughts Monday into a blog post.</p>



<a name="185844833"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185844833" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185844833">(Jan 16 2020 at 18:36)</a>:</h4>
<p>Tangent about cranelift: <span class="user-mention" data-user-id="116009">@nikomatsakis</span> do you have any insight into Cranelift's future? My impression was that (1) Cranelift was primarily supported by Mozilla, and (2) the recent layoffs affected the Cranelift team pretty hard.</p>



<a name="185844888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185844888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185844888">(Jan 16 2020 at 18:36)</a>:</h4>
<p>I am aware of one layoff from within Cranelift, but there may be more</p>



<a name="185844898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185844898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185844898">(Jan 16 2020 at 18:37)</a>:</h4>
<p>I don't know more than you do I don't think</p>



<a name="185844988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185844988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185844988">(Jan 16 2020 at 18:38)</a>:</h4>
<p>the main thing I had hoped to touch base on here was who was going to try and translate the stuff from our call into a blog post :)</p>



<a name="185845035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845035">(Jan 16 2020 at 18:38)</a>:</h4>
<p>is that you, <span class="user-mention" data-user-id="120076">@Kyle Strand</span> ?</p>



<a name="185845071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845071">(Jan 16 2020 at 18:38)</a>:</h4>
<p>I think it's a good idea to produce a document that avoids <em>too</em> much background -- think of the lang team as audience</p>



<a name="185845095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845095">(Jan 16 2020 at 18:38)</a>:</h4>
<p>The spirit is willing but the flesh is time-constrained</p>



<a name="185845102"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845102" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845102">(Jan 16 2020 at 18:38)</a>:</h4>
<p>I think a explainer with background is probably also good but separately :)</p>



<a name="185845110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845110">(Jan 16 2020 at 18:38)</a>:</h4>
<p>lol fair</p>



<a name="185845133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845133">(Jan 16 2020 at 18:38)</a>:</h4>
<p>I had a few other thoughts after our call</p>



<a name="185845134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845134">(Jan 16 2020 at 18:38)</a>:</h4>
<p>one thing I was thinking of</p>



<a name="185845144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845144">(Jan 16 2020 at 18:39)</a>:</h4>
<p>is that I feel like we have a large number of desiderata</p>



<a name="185845153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845153">(Jan 16 2020 at 18:39)</a>:</h4>
<p>that we often failed to remember</p>



<a name="185845170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845170">(Jan 16 2020 at 18:39)</a>:</h4>
<p>e.g., "can insert a shim into extern C fn" or something</p>



<a name="185845175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845175">(Jan 16 2020 at 18:39)</a>:</h4>
<p>maybe a table would make sense</p>



<a name="185845206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845206">(Jan 16 2020 at 18:39)</a>:</h4>
<p>Since the explainer is basically done, maybe I should just post that separately? On its own, it doesn't really seem like useful content for the Internals blog, and unfortunately I don't have a personal blog myself yet, but it seems like it would be useful to put out there in the world somewhere.</p>



<a name="185845312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845312">(Jan 16 2020 at 18:40)</a>:</h4>
<p>Function pointers seem like an oft-neglected consideration</p>



<a name="185845366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845366">(Jan 16 2020 at 18:40)</a>:</h4>
<p>Despite the fact that we're all aware of the complications therein, having previously discussed them!</p>



<a name="185845431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845431">(Jan 16 2020 at 18:41)</a>:</h4>
<p>I can help with an editing pass and other feedback but unfortunately my time is extremely constrained</p>



<a name="185845476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845476">(Jan 16 2020 at 18:41)</a>:</h4>
<p>Re: explainer:</p>



<a name="185845488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845488">(Jan 16 2020 at 18:41)</a>:</h4>
<p>I'm not 100% sure what that refers to :)</p>



<a name="185845491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845491">(Jan 16 2020 at 18:41)</a>:</h4>
<p>background material?</p>



<a name="185845500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845500">(Jan 16 2020 at 18:41)</a>:</h4>
<p>if so, maybe push to the repo and then write a blog post announcing it exists</p>



<a name="185845548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845548">(Jan 16 2020 at 18:42)</a>:</h4>
<p>I think people would be interested</p>



<a name="185845628"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845628" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845628">(Jan 16 2020 at 18:43)</a>:</h4>
<p>I mean the majority of my original draft in that one PR: <a href="https://github.com/BatmanAoD/project-ffi-unwind/blob/BlogPost-announcement/blogposts/inside-rust/01-announcement.md" target="_blank" title="https://github.com/BatmanAoD/project-ffi-unwind/blob/BlogPost-announcement/blogposts/inside-rust/01-announcement.md">https://github.com/BatmanAoD/project-ffi-unwind/blob/BlogPost-announcement/blogposts/inside-rust/01-announcement.md</a></p>



<a name="185845640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845640">(Jan 16 2020 at 18:43)</a>:</h4>
<p>yeah that's what I figured you meant</p>



<a name="185845643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845643">(Jan 16 2020 at 18:43)</a>:</h4>
<p>seems great</p>



<a name="185845773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845773">(Jan 16 2020 at 18:44)</a>:</h4>
<p>I'll move the "should the <code>"C"</code> ABI permit unwinding" section to the bottom and re-cast it as a "preview" of a more in-depth summary of the project group's (PG's?) discussions so far.</p>



<a name="185845849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845849">(Jan 16 2020 at 18:45)</a>:</h4>
<p>+1</p>



<a name="185845854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845854">(Jan 16 2020 at 18:45)</a>:</h4>
<p>I might try my hand at making this table I was talking about</p>



<a name="185845888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845888">(Jan 16 2020 at 18:45)</a>:</h4>
<p>oh and</p>



<a name="185845944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845944">(Jan 16 2020 at 18:46)</a>:</h4>
<p>I plan to schedule a lang team meeting sometime in Feb -- it'll be a design meeting, so monday at noon Eastern time</p>



<a name="185845953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845953">(Jan 16 2020 at 18:46)</a>:</h4>
<p>do y'all have any preferences when it comes to weeks?</p>



<a name="185845955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845955">(Jan 16 2020 at 18:46)</a>:</h4>
<p>Okay. I have no time today but maybe some tomorrow, definitely this weekend, and Monday is a day off for me so... hopefully I'll make some progress on both this and job-search-stuff</p>



<a name="185845963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185845963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185845963">(Jan 16 2020 at 18:46)</a>:</h4>
<p>I can make a doodle if needed :)</p>



<a name="185846017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846017">(Jan 16 2020 at 18:47)</a>:</h4>
<p>Looks like I have no prior commitments on any Monday in February.</p>



<a name="185846253"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846253" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846253">(Jan 16 2020 at 18:49)</a>:</h4>
<blockquote>
<p>I plan to schedule a lang team meeting sometime in Feb -- it'll be a design meeting, so monday at noon Eastern time</p>
</blockquote>
<p><span class="user-mention" data-user-id="237472">@acfoltzer</span> you seem more likely to have conflicts...</p>



<a name="185846267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846267">(Jan 16 2020 at 18:49)</a>:</h4>
<p>the week of the 10th I'm in the bay area for a bunch of wasm meetings</p>



<a name="185846348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846348">(Jan 16 2020 at 18:50)</a>:</h4>
<p>as far as other times go, it's less about having specific conflicts on my calendar, and more about overall number of hours I can devote to non-product things</p>



<a name="185846406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846406">(Jan 16 2020 at 18:51)</a>:</h4>
<p>I don't feel you <em>have</em> to attend</p>



<a name="185846415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846415">(Jan 16 2020 at 18:51)</a>:</h4>
<p>which is to say, other than the 10th all of my Mondays are pretty much free</p>



<a name="185846436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846436">(Jan 16 2020 at 18:51)</a>:</h4>
<p>I guess <span class="user-mention" data-user-id="143274">@Amanieu</span> your schedule would be pretty relevant too</p>



<a name="185846472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846472">(Jan 16 2020 at 18:51)</a>:</h4>
<p>I'm away on a ski trip for the 1st week of Feb</p>



<a name="185846476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846476">(Jan 16 2020 at 18:51)</a>:</h4>
<p>I would like to, because having a concrete commitment helps me actually prioritize paying attention to this issue despite our product managers <span aria-label="pray" class="emoji emoji-1f64f" role="img" title="pray">:pray:</span></p>



<a name="185846535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185846535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185846535">(Jan 16 2020 at 18:52)</a>:</h4>
<p>But after that it should be fine</p>



<a name="185847065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847065">(Jan 16 2020 at 18:57)</a>:</h4>
<p>I am reminded that I will be on vacation Feb 17</p>



<a name="185847130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847130">(Jan 16 2020 at 18:58)</a>:</h4>
<p>So that means:</p>
<ul>
<li>Feb 3-- no <span class="user-mention" data-user-id="143274">@Amanieu</span> </li>
<li>Feb 10 -- No <span class="user-mention" data-user-id="237472">@acfoltzer</span> </li>
<li>Feb 17 -- No me</li>
<li>Feb 24 -- <span aria-label="check" class="emoji emoji-2705" role="img" title="check">:check:</span></li>
</ul>



<a name="185847135"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847135" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847135">(Jan 16 2020 at 18:58)</a>:</h4>
<p>heh</p>



<a name="185847146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847146">(Jan 16 2020 at 18:58)</a>:</h4>
<p>seems far away</p>



<a name="185847148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847148">(Jan 16 2020 at 18:58)</a>:</h4>
<p>but then...</p>



<a name="185847179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847179">(Jan 16 2020 at 18:58)</a>:</h4>
<p>Unless we can fit it in late Jan?</p>



<a name="185847195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847195">(Jan 16 2020 at 18:58)</a>:</h4>
<p>I'm not avail next 2 weeks</p>



<a name="185847209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847209">(Jan 16 2020 at 18:59)</a>:</h4>
<p>I guess <em>maybe</em> next week</p>



<a name="185847211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847211">(Jan 16 2020 at 18:59)</a>:</h4>
<p>it's a holiday :)</p>



<a name="185847215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847215">(Jan 16 2020 at 18:59)</a>:</h4>
<p>but ..</p>



<a name="185847221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847221">(Jan 16 2020 at 18:59)</a>:</h4>
<p>my partner would kill me :P</p>



<a name="185847245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847245">(Jan 16 2020 at 18:59)</a>:</h4>
<p>could shoot for another day of the week, it's just that it's hard to find those</p>



<a name="185847266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847266">(Jan 16 2020 at 18:59)</a>:</h4>
<p>Let's not then. A dead niko is an unproductive niko.</p>



<a name="185847267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847267">(Jan 16 2020 at 18:59)</a>:</h4>
<p>scheduling is hard :)</p>



<a name="185847273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847273">(Jan 16 2020 at 18:59)</a>:</h4>
<p><span class="user-mention" data-user-id="237472">@acfoltzer</span> any chance of trying to schedule this between your wasm meetings?</p>



<a name="185847331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847331">(Jan 16 2020 at 19:00)</a>:</h4>
<p>let's do this: try to write it up asap,</p>



<a name="185847352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847352">(Jan 16 2020 at 19:00)</a>:</h4>
<p>plan to talk feb 24, but see if we can find an earlier time, and/or conduct the discussion async</p>



<a name="185847379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847379">(Jan 16 2020 at 19:00)</a>:</h4>
<p>Conduct the discussion w/ the lang team async?</p>



<a name="185847400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847400">(Jan 16 2020 at 19:00)</a>:</h4>
<p>yeah, maybe hopeless tho</p>



<a name="185847401"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847401" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847401">(Jan 16 2020 at 19:00)</a>:</h4>
<p>(I thought that was what we were scheduling for Feb)</p>



<a name="185847412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847412">(Jan 16 2020 at 19:00)</a>:</h4>
<p>it is:)</p>



<a name="185847414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847414">(Jan 16 2020 at 19:00)</a>:</h4>
<p>mm</p>



<a name="185847436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847436">(Jan 16 2020 at 19:01)</a>:</h4>
<p>I'm mostly thiking that the solution to "Scheduling hell" is async, but it only sometimes works</p>



<a name="185847453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847453">(Jan 16 2020 at 19:01)</a>:</h4>
<p>Well, to be fair, I wasn't really hoping for _consensus_ among the team from one meeting, necessarily.</p>



<a name="185847473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847473">(Jan 16 2020 at 19:01)</a>:</h4>
<p>I definitely think it'd be better if we can start the conversation earlier</p>



<a name="185847478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847478">(Jan 16 2020 at 19:01)</a>:</h4>
<p>regardless</p>



<a name="185847487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847487">(Jan 16 2020 at 19:01)</a>:</h4>
<p>But I think if we start the discussion async, then it's probably not crucial that all four of us be available for the sync lang team discussion</p>



<a name="185847493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847493">(Jan 16 2020 at 19:01)</a>:</h4>
<p>team_meeting.await</p>



<a name="185847773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847773">(Jan 16 2020 at 19:04)</a>:</h4>
<p>All right, I'm heading to lunch now. Sounds like we have, as usual, just enough of a plan to start heading in the right general direction :)</p>



<a name="185847856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847856">(Jan 16 2020 at 19:05)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="237472">acfoltzer</span> any chance of trying to schedule this between your wasm meetings?</p>
</blockquote>
<p>sorry, had to step away for a moment. I am at the wasm summit at Google all day on the 10th, but I don't know yet what the agenda is</p>



<a name="185847894"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/185847894" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#185847894">(Jan 16 2020 at 19:05)</a>:</h4>
<p>generally speaking though if the 10th works for everyone else, y'all should go for it. my motivations for being there are, as described above, mostly selfish</p>



<a name="186414380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186414380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186414380">(Jan 23 2020 at 17:41)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Sorry all, I didn't actually make any headway on anything this week.</p>



<a name="186419536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186419536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186419536">(Jan 23 2020 at 18:31)</a>:</h4>
<p>same, at least in terms of direct work on this project. It looks like I'm going to be able to make it to the Rust All-Hands, which will coincidentally give me a good amount of airplane time where I hopefully be temporarily free of product concerns</p>



<a name="186419560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186419560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186419560">(Jan 23 2020 at 18:31)</a>:</h4>
<p>and, of course, the opportunity for high-bandwidth collaboration with anyone else on the team who will be there <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span></p>



<a name="186420312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186420312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186420312">(Jan 23 2020 at 18:39)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> been busy, I didn't get too far either :)</p>



<a name="186420321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186420321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186420321">(Jan 23 2020 at 18:39)</a>:</h4>
<p>sorry, had a call come up this week, too</p>



<a name="186420327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186420327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186420327">(Jan 23 2020 at 18:39)</a>:</h4>
<p>meant to ping earlier but ..</p>



<a name="186420457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186420457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186420457">(Jan 23 2020 at 18:41)</a>:</h4>
<p>I will also be at the Rust All-Hands! In fact, it will be my first time _ever_ outside the states, something I've looked forward to for...well, since I was a kid.</p>



<a name="186420570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186420570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186420570">(Jan 23 2020 at 18:42)</a>:</h4>
<p>oh wow, that's so exciting!</p>



<a name="186420576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186420576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186420576">(Jan 23 2020 at 18:42)</a>:</h4>
<p>looking forward to meeting you :)</p>



<a name="186421446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186421446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186421446">(Jan 23 2020 at 18:51)</a>:</h4>
<p>Same!</p>



<a name="186914757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186914757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186914757">(Jan 29 2020 at 18:34)</a>:</h4>
<p>I will be interviewing tomorrow, so I will not be able to join our weekly chat.</p>



<a name="186941209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186941209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186941209">(Jan 29 2020 at 23:50)</a>:</h4>
<p>good luck!</p>



<a name="186941261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/186941261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#186941261">(Jan 29 2020 at 23:50)</a>:</h4>
<p>Thanks!</p>



<a name="187575169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/187575169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#187575169">(Feb 06 2020 at 18:33)</a>:</h4>
<p>hey folks, gotta check in very quickly this week. I haven't been doing anything on the project this week, but am trying to figure out how I can still carve out some time even with the All-Hands being canceled <span aria-label="cry" class="emoji emoji-1f622" role="img" title="cry">:cry:</span></p>



<a name="187575280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/187575280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#187575280">(Feb 06 2020 at 18:34)</a>:</h4>
<p>our product is starting to get into the hands of some very early alpha testers, so I'm hoping that "we want backtraces!" ends up at the top of the feedback pile, which would justify me switching gears</p>



<a name="187575571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/187575571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#187575571">(Feb 06 2020 at 18:38)</a>:</h4>
<p>Similarly, I need to carve out some time around job-searching, which is... still taking up more of my time than I would like, because I haven't actually gotten an offer yet. :/</p>



<a name="187575692"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/187575692" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#187575692">(Feb 06 2020 at 18:39)</a>:</h4>
<p>... and someone just drove into our parked car out front. gotta run I guess</p>



<a name="187577049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/187577049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#187577049">(Feb 06 2020 at 18:54)</a>:</h4>
<p>okay, everything is fine, just scraped up the car a bit. I suppose I don't have much more to add, but if I can be of assistance reviewing anything please let me know</p>



<a name="187594817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/187594817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#187594817">(Feb 06 2020 at 22:21)</a>:</h4>
<p>I've not had time to do anything</p>



<a name="187594867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/187594867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#187594867">(Feb 06 2020 at 22:22)</a>:</h4>
<p>I still hope to put in some time to creating a doc or collating our results from before</p>



<a name="188135789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188135789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188135789">(Feb 13 2020 at 18:36)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Starting on the 27th, the Governance group is going to start having its meetings at this time, fornightly. So we should either pick a new time for touching base, or just skip every other week.</p>



<a name="188136066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188136066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188136066">(Feb 13 2020 at 18:39)</a>:</h4>
<p>it seems like our activity has been slow enough that fortnightly should be fine. we can always adjust when things pick up?</p>



<a name="188136120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188136120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188136120">(Feb 13 2020 at 18:39)</a>:</h4>
<p>I agree.</p>



<a name="188136210"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188136210" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188136210">(Feb 13 2020 at 18:40)</a>:</h4>
<p>In any case, there won't be a conflict next week, which is our last scheduled meeting time before the lang team discussion.</p>



<a name="188136302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188136302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188136302">(Feb 13 2020 at 18:41)</a>:</h4>
<p>On that note: I would like to get one or more blog posts published at least a week before the meeting, so that (1) potential interested parties are aware, and (2) all involved have time to ponder the issue independently prior to the meeting itself.</p>



<a name="188136438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188136438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188136438">(Feb 13 2020 at 18:42)</a>:</h4>
<p>But I have made exactly zero progress towards having something publishable since last we discussed this, and it doesn't look like I'll have time today or tomorrow. I will try to allocate some hours Saturday.</p>



<a name="188222846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188222846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188222846">(Feb 14 2020 at 16:39)</a>:</h4>
<p>Thanks for bringing that up, I meant to</p>



<a name="188222924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188222924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188222924">(Feb 14 2020 at 16:40)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> I was thining I would try to allocate some time next week, so if you are able o work on saturday, that'd be great</p>



<a name="188410706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188410706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188410706">(Feb 17 2020 at 22:30)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Do you think we'll be able to post the blog post tomorrow (Tuesday)? I should be able to get Amanieu's suggested changes in this afternoon</p>



<a name="188451635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188451635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188451635">(Feb 18 2020 at 13:51)</a>:</h4>
<p>I can do a second round of review on the blog post after you make your changes if you want.</p>



<a name="188506885"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188506885" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188506885">(Feb 19 2020 at 00:51)</a>:</h4>
<p>Sorry, I thought I'd have time to make changes yesterday but didn't.</p>



<a name="188512379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188512379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188512379">(Feb 19 2020 at 03:06)</a>:</h4>
<p><span class="user-mention" data-user-id="143274">@Amanieu</span> Okay, I've made changes now. It looks like we have different expectations for <code>extern "C"</code> in the 2-ABI strategy, but I'm not sure whose understanding is correct. I have revised the table by changing the "forced exceptions" row to specify that no destructors are assumed, and the "unforced with destructors" row to refer to forced _or_ unforced exceptions. I've revised the table entries themselves, but I am still not sure if my understanding for each of them is correct.</p>



<a name="188534686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188534686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188534686">(Feb 19 2020 at 11:06)</a>:</h4>
<p>I'm taking a look at the blog post now</p>



<a name="188535944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188535944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188535944">(Feb 19 2020 at 11:29)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> you're not around now, by any chance?</p>



<a name="188551648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188551648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188551648">(Feb 19 2020 at 15:01)</a>:</h4>
<p>I hope you are traveling rather than working at some terrible hour of the night!</p>



<a name="188639641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188639641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188639641">(Feb 20 2020 at 14:08)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> I am working very early hours =)</p>



<a name="188639647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188639647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188639647">(Feb 20 2020 at 14:08)</a>:</h4>
<p>as I'm traveling</p>



<a name="188641865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188641865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188641865">(Feb 20 2020 at 14:32)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> I meant to put in some more time into preparing notes but I'm sort of leaning towards "we should merge this asap and we can think about adding more and framing before/during meeting"</p>



<a name="188641870"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188641870" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188641870">(Feb 20 2020 at 14:32)</a>:</h4>
<p>that said, I had some edits that felt productive</p>



<a name="188641878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188641878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188641878">(Feb 20 2020 at 14:32)</a>:</h4>
<p>I just got called off on other things</p>



<a name="188641889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188641889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188641889">(Feb 20 2020 at 14:32)</a>:</h4>
<p>maybe I'll push a branch to my repo</p>



<a name="188644159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188644159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188644159">(Feb 20 2020 at 14:52)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> If you're too busy, I can take over finishing up the blog post.</p>



<a name="188664252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188664252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188664252">(Feb 20 2020 at 18:31)</a>:</h4>
<p>hey folks, just saw <a href="https://github.com/rust-lang/project-ffi-unwind/pull/21" target="_blank" title="https://github.com/rust-lang/project-ffi-unwind/pull/21">https://github.com/rust-lang/project-ffi-unwind/pull/21</a> and am taking a look now</p>



<a name="188664539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188664539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188664539">(Feb 20 2020 at 18:34)</a>:</h4>
<p><span class="user-mention" data-user-id="143274">@Amanieu</span> Well, currently it seems like the most important "work item" is to resolve the points of confusion brought up in the review.</p>



<a name="188664556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188664556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188664556">(Feb 20 2020 at 18:34)</a>:</h4>
<p>I'm not sure that's a "who has time" thing, exactly</p>



<a name="188664655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188664655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188664655">(Feb 20 2020 at 18:35)</a>:</h4>
<p>I suppose putting Niko's bullet-list of pros and cons into blog-prose is something either of us could do. Same with transposing the table. If you have time to take a crack at either of those, that would be very helpful.</p>



<a name="188664814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188664814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188664814">(Feb 20 2020 at 18:37)</a>:</h4>
<p>One concrete question I have:</p>
<blockquote>
<p>[if we do not introduce a new <code>"C unwind"</code> API, then] panic=abort will not generate landing pads on "C" ABI functions. As long as there aren't destructors in those frames, is that sound?</p>
</blockquote>



<a name="188664909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188664909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188664909">(Feb 20 2020 at 18:38)</a>:</h4>
<p>It should be sound.</p>



<a name="188664941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188664941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188664941">(Feb 20 2020 at 18:38)</a>:</h4>
<p>That wasn't the case Niko couldn't get to work in his branch, was it? I seem to remember the runtime aborting even when he didn't want it to</p>



<a name="188664970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188664970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188664970">(Feb 20 2020 at 18:39)</a>:</h4>
<p>I think that may have just been an implementation issue rather than a fundamental one.</p>



<a name="188668373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188668373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188668373">(Feb 20 2020 at 19:15)</a>:</h4>
<p>Okay, I'm making some changes in accordance with that.</p>



<a name="188668385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188668385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188668385">(Feb 20 2020 at 19:16)</a>:</h4>
<p>Re: this discussion: <a href="https://github.com/rust-lang/project-ffi-unwind/pull/21#discussion_r381232338" target="_blank" title="https://github.com/rust-lang/project-ffi-unwind/pull/21#discussion_r381232338">https://github.com/rust-lang/project-ffi-unwind/pull/21#discussion_r381232338</a></p>



<a name="188668441"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188668441" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188668441">(Feb 20 2020 at 19:16)</a>:</h4>
<p>If we have shims in <code>extern "C"</code> function definitions for aborting on <code>panic</code>-unwinding, then shouldn't we also abort on foreign exceptions to avoid UB?</p>



<a name="188668581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188668581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188668581">(Feb 20 2020 at 19:18)</a>:</h4>
<p>We don't want to add shims to extern "C" in -Cpanic=abort. The whole point of -Cpanic=abort is that you remove all the code size overhead from unwinding.</p>



<a name="188668602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188668602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188668602">(Feb 20 2020 at 19:18)</a>:</h4>
<p>The idea with extern "C unwind" is that you opt-in to those shims on -C panic=abort.</p>



<a name="188668977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188668977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188668977">(Feb 20 2020 at 19:22)</a>:</h4>
<p>Agreed, but that discussion is about <code>-Cpanic=unwind</code>.</p>



<a name="188669022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669022">(Feb 20 2020 at 19:23)</a>:</h4>
<p>Niko was asking if a <code>panic</code>-unwind reaching an <code>extern "C"</code> boundary under <code>panic=unwind</code> should be UB.</p>



<a name="188669129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669129">(Feb 20 2020 at 19:24)</a>:</h4>
<p>perhaps we could insert a shim there in debug mode only?</p>



<a name="188669146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669146">(Feb 20 2020 at 19:24)</a>:</h4>
<p>Oh right. Yes, we do insert a shim there.</p>



<a name="188669211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669211">(Feb 20 2020 at 19:25)</a>:</h4>
<p>Hmm, the problem is that we want to allow forced exceptions. So the shim would have to differentiate between them.</p>



<a name="188669278"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669278" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669278">(Feb 20 2020 at 19:26)</a>:</h4>
<p>Only in proposal 2!</p>



<a name="188669317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669317">(Feb 20 2020 at 19:26)</a>:</h4>
<p>No, we want to always allow longjmp over extern "C" frames.</p>



<a name="188669320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669320">(Feb 20 2020 at 19:26)</a>:</h4>
<p>er</p>



<a name="188669348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669348">(Feb 20 2020 at 19:27)</a>:</h4>
<p>At least I think we do, for backward compatibility reasons.</p>



<a name="188669368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669368">(Feb 20 2020 at 19:27)</a>:</h4>
<p>(rlua)</p>



<a name="188669381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669381">(Feb 20 2020 at 19:27)</a>:</h4>
<p>.... reconsidering, you're correct</p>



<a name="188669384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669384">(Feb 20 2020 at 19:27)</a>:</h4>
<p>Sorry</p>



<a name="188669506"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669506" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669506">(Feb 20 2020 at 19:28)</a>:</h4>
<p>So the "minimal spec" would actually be:</p>
<div class="codehilite"><pre><span></span>### Proposal 1: Introduce `&quot;C unwind&quot;`, minimal specification

* `&quot;C&quot;` ABI boundary, `panic=&lt;any&gt;`
  * `panic`-unwind: program aborts
  * forced unwind, no destructors: unwind behaves normally
  * forced unwind with destructors: undefined behavior
  * non-forced foreign unwind: program aborts
* `&quot;C unwind&quot;` ABI boundary
  * With `panic=unwind`: all types of unwinding behave normally
  * With `panic=abort`: all types of unwinding abort the program
</pre></div>



<a name="188669512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669512">(Feb 20 2020 at 19:28)</a>:</h4>
<p>Correct?</p>



<a name="188669866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669866">(Feb 20 2020 at 19:32)</a>:</h4>
<p>Hmm</p>



<a name="188669902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669902">(Feb 20 2020 at 19:33)</a>:</h4>
<ul>
<li>non-forced foreign unwind: program aborts =&gt; except we don't want to insert shims when -Cpanic=abort</li>
</ul>



<a name="188669945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188669945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188669945">(Feb 20 2020 at 19:34)</a>:</h4>
<p>(i need to go re-read the doc, got a link?)</p>



<a name="188670322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188670322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188670322">(Feb 20 2020 at 19:38)</a>:</h4>
<div class="codehilite"><pre><span></span>### Proposal 1: Introduce `&quot;C unwind&quot;`, minimal specification

* `&quot;C&quot;` ABI boundary, `panic=&lt;any&gt;`
  * `panic`-unwind: program aborts
  * any unwind, no destructors: unwind behaves normally
  * any unwind, with destructors: undefined behavior
* `&quot;C unwind&quot;` ABI boundary
  * With `panic=unwind`: all types of unwinding behave normally
  * With `panic=abort`: all types of unwinding abort the program
</pre></div>



<a name="188670349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188670349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188670349">(Feb 20 2020 at 19:38)</a>:</h4>
<p>Only proposal 2 treats forced unwinding and other foreign unwinding differently</p>



<a name="188670692"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188670692" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188670692">(Feb 20 2020 at 19:42)</a>:</h4>
<p>The Paper doc?</p>



<a name="188670721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188670721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188670721">(Feb 20 2020 at 19:42)</a>:</h4>
<p><a href="https://paper.dropbox.com/doc/ffi-unwind-2020-01-13-agituL322N0qRsCbcnn7D" target="_blank" title="https://paper.dropbox.com/doc/ffi-unwind-2020-01-13-agituL322N0qRsCbcnn7D">https://paper.dropbox.com/doc/ffi-unwind-2020-01-13-agituL322N0qRsCbcnn7D</a></p>



<a name="188671299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188671299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188671299">(Feb 20 2020 at 19:49)</a>:</h4>
<p>See my comment about for proposal 1.</p>



<a name="188671479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188671479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188671479">(Feb 20 2020 at 19:51)</a>:</h4>
<p>For proposal 2, same as 1 but "C unwind" allows forced exceptions in -Cpanic=abort</p>



<a name="188673239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188673239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188673239">(Feb 20 2020 at 20:12)</a>:</h4>
<p>Okay, I've fixed it up and transposed the table.</p>



<a name="188673263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188673263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188673263">(Feb 20 2020 at 20:12)</a>:</h4>
<p>Would you mind looking at the table again?</p>



<a name="188673297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188673297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188673297">(Feb 20 2020 at 20:12)</a>:</h4>
<p>I can merge the PR so you can make additional changes in a new PR if youd' like</p>



<a name="188673569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188673569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188673569">(Feb 20 2020 at 20:16)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@Kyle Strand</span> row 1 column 3 should be "unwind" instead of "abort".</p>



<a name="188673635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188673635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188673635">(Feb 20 2020 at 20:17)</a>:</h4>
<p>But sure, go ahead and merge. I'll send a PR with extra changes on top of yours.</p>



<a name="188673646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188673646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188673646">(Feb 20 2020 at 20:17)</a>:</h4>
<p>In particular I want to add a list of pros/cons for each proposal.</p>



<a name="188673720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188673720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188673720">(Feb 20 2020 at 20:18)</a>:</h4>
<p>last row column 3 should also be "unwind"</p>



<a name="188676154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188676154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188676154">(Feb 20 2020 at 20:49)</a>:</h4>
<p>Okay, I've fixed those, made a few more small fixes based on other PR comments, and merged!</p>



<a name="188676219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188676219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188676219">(Feb 20 2020 at 20:50)</a>:</h4>
<p>Thanks for taking on the additional work</p>



<a name="188717817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188717817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188717817">(Feb 21 2020 at 10:06)</a>:</h4>
<p>As I'm writing the pro/cons, I'm becoming increasingly dubious about the value of proposal 2. You're only ever going to use "C unwind" if you are specifically expecting that code to throw a C++ exception. "C" is fine in all proposals if you're only expecting forced unwinds and have made sure that you don't have any destructors on the stack.</p>



<a name="188717851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188717851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188717851">(Feb 21 2020 at 10:07)</a>:</h4>
<p>So I don't really see a reason why you would care about forced unwinds when using "C unwind": you're only ever using that ABI when calling C++ code anyways...</p>



<a name="188717931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188717931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188717931">(Feb 21 2020 at 10:08)</a>:</h4>
<p>Or if you have a Rust function that panics that is called from C++, and want panics to propagate through the C++.</p>



<a name="188717942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188717942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188717942">(Feb 21 2020 at 10:08)</a>:</h4>
<p>Either way, you don't really care about forced unwinds for those cases...</p>



<a name="188717977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188717977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188717977">(Feb 21 2020 at 10:09)</a>:</h4>
<p>If you have any ideas, let me know what you think the main advantages of proposal 2 are over 1&amp;3.</p>



<a name="188741533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188741533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188741533">(Feb 21 2020 at 15:25)</a>:</h4>
<p>I suppose just that C++ code can still invoke pthread_exit, so it would be surprising if that had the effect of aborting the program depending on the compile settings.</p>



<a name="188741564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188741564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188741564">(Feb 21 2020 at 15:25)</a>:</h4>
<p>But I think overall that's a good observation.</p>



<a name="188743140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188743140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188743140">(Feb 21 2020 at 15:39)</a>:</h4>
<p>Since forced unwinding is supposed to be "unstoppable" per the Itanium spec, is there an issue of "compliance" from us? Do you expect people might take issue with us aborting in a scenario where Itanium says the unwind must continue even if caught?</p>



<a name="188746270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188746270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188746270">(Feb 21 2020 at 16:08)</a>:</h4>
<p>There shouldn't be an issue. In C++ <code>noexcept</code> will also cause forced unwinding to abort.</p>



<a name="188746718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188746718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188746718">(Feb 21 2020 at 16:13)</a>:</h4>
<p>Oh, that makes sense.</p>



<a name="188784273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188784273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188784273">(Feb 21 2020 at 23:20)</a>:</h4>
<p><span class="user-mention" data-user-id="143274">@Amanieu</span> Thanks again for adding to the blog post draft. I'd suggest adding your name to the byline along with me and Niko</p>



<a name="188784314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188784314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188784314">(Feb 21 2020 at 23:21)</a>:</h4>
<p>I'm wondering if we should push back the design meeting, though, if possible... <span class="user-mention" data-user-id="116009">@nikomatsakis</span> you're not around to weigh in on that, are you?</p>



<a name="188784336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188784336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188784336">(Feb 21 2020 at 23:21)</a>:</h4>
<p>it seems like we're not really giving anyone else in the community a chance to make time for the meeting if they're interested</p>



<a name="188784377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188784377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188784377">(Feb 21 2020 at 23:22)</a>:</h4>
<p>Yea sorry about that I had a busy day and got to reviewing the blog post quite late.</p>



<a name="188784703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188784703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188784703">(Feb 21 2020 at 23:26)</a>:</h4>
<p>I pushed some more fixes. If it looks good you should just merge it and push out the blog post tonight.</p>



<a name="188784725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188784725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188784725">(Feb 21 2020 at 23:27)</a>:</h4>
<p>I think it's fine if we get the blog post out tonight, people will still be able to respond via text if they don't make it to the meeting.</p>



<a name="188784807"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188784807" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188784807">(Feb 21 2020 at 23:28)</a>:</h4>
<p>I'm going to sleep now, so if you want to make more changes just merge mine first.</p>



<a name="188811736"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188811736" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188811736">(Feb 22 2020 at 10:47)</a>:</h4>
<p>I've only lightly skimmed the above -- I'm game to push back the design meeting to another week, maybe post in <a class="stream" data-stream-id="213817" href="/#narrow/stream/213817-t-lang">#t-lang</a> about it, <span class="user-mention" data-user-id="120076">@Kyle Strand</span>? I would like to start getting feedback regardless. I've not had a chance to read the updated blog post yet.</p>



<a name="188811750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188811750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188811750">(Feb 22 2020 at 10:47)</a>:</h4>
<p>I probably wont' get one until Monday</p>



<a name="188824640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188824640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188824640">(Feb 22 2020 at 16:59)</a>:</h4>
<p>@Amanieu no apology necessary - most of the delay was just because I didn't have time to do much these last few weeks.</p>



<a name="188824717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188824717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188824717">(Feb 22 2020 at 17:01)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> let's push the meeting back; perhaps another Doodle would be good?</p>



<a name="188825889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188825889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188825889">(Feb 22 2020 at 17:31)</a>:</h4>
<p>I think the blog post is ready to publish once we put a new date in there.</p>



<a name="188826365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188826365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188826365">(Feb 22 2020 at 17:44)</a>:</h4>
<p>Do we want to have a small discussion on whether to eliminate proposal 2 before publishing the blog post? Or just leave it in?</p>



<a name="188826553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188826553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188826553">(Feb 22 2020 at 17:49)</a>:</h4>
<p>Hm... I think I'd prefer to leave it, at least until the lang team has a preliminary opportunity to take a look.</p>



<a name="188826615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188826615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188826615">(Feb 22 2020 at 17:51)</a>:</h4>
<p>But I suppose if we decide it's strictly worse than proposal 1 then there wouldn't be any benefit in making lang team members take it into consideration</p>



<a name="188826697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188826697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188826697">(Feb 22 2020 at 17:53)</a>:</h4>
<p>Here's the weird thing about proposal 1, to me: it's the only one that breaks <code>longjmp</code> when the compile-mode changes from <code>panic=unwind</code> to <code>panic=abort</code>. That seems somewhat surprising.</p>



<a name="188826750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188826750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188826750">(Feb 22 2020 at 17:54)</a>:</h4>
<p>And, worse, it breaks only for <code>"C unwind"</code>, and as a user I think I would be surprised to find cases where <code>"C unwind"</code> is strictly less "capable" than <code>"C"</code></p>



<a name="188826827"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188826827" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188826827">(Feb 22 2020 at 17:56)</a>:</h4>
<p>Fair enough, let's leave it in. We could add a small paragraph for it explaining the pros/cons. Pro: longjmp works with both C and C unwind. Con: it is the only proposal which treats forced unwind differently from other unwinding.</p>



<a name="188826835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188826835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188826835">(Feb 22 2020 at 17:56)</a>:</h4>
<p>I g2g now, but I can write something up later.</p>



<a name="188827845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188827845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188827845">(Feb 22 2020 at 18:25)</a>:</h4>
<p>That sounds good. I will be away from my computer for a few hours but I can probably also find time to add that if you haven't already by then</p>



<a name="188884509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/188884509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#188884509">(Feb 23 2020 at 21:07)</a>:</h4>
<p><span class="user-mention" data-user-id="143274">@Amanieu</span> <a href="https://github.com/rust-lang/project-ffi-unwind/pull/24" target="_blank" title="https://github.com/rust-lang/project-ffi-unwind/pull/24">https://github.com/rust-lang/project-ffi-unwind/pull/24</a></p>



<a name="189243720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189243720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189243720">(Feb 27 2020 at 18:50)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> The wg-governance meeting ran a bit long, and I stayed to chat about some topics even after it was officially wrapped. I know I brought up moving our meeting time, but we didn't actually come to a conclusion about that, did we?</p>



<a name="189243897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189243897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189243897">(Feb 27 2020 at 18:52)</a>:</h4>
<p>In any case, Erin merged the blog post, and the meeting date is officially set for this coming Monday. I haven't merged a <code>blog.rust-lang.org</code> post before; will the new post show up automatically soon?</p>



<a name="189255273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189255273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189255273">(Feb 27 2020 at 20:48)</a>:</h4>
<p>sorry, I thought we were moving to fortnightly</p>



<a name="189256785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189256785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189256785">(Feb 27 2020 at 21:04)</a>:</h4>
<p><span class="user-mention" data-user-id="237472">@acfoltzer</span> Oh, you may be right.</p>



<a name="189258637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189258637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189258637">(Feb 27 2020 at 21:22)</a>:</h4>
<p>In fact checking back over our chat logs, that was indeed the decision. I'll adjust the meeting invite</p>



<a name="189258668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189258668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189258668">(Feb 27 2020 at 21:22)</a>:</h4>
<p>thanks! sorry that you showed up to an empty room though :(</p>



<a name="189258709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189258709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189258709">(Feb 27 2020 at 21:23)</a>:</h4>
<p>Amanieu was around, so it wasn't _too_ lonely!</p>



<a name="189821449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189821449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189821449">(Mar 05 2020 at 18:25)</a>:</h4>
<p>getting my update in a bit early before a conflicting meeting: my end of things this fortnight was mostly getting calendaring mixed up <span aria-label="upside down" class="emoji emoji-1f643" role="img" title="upside down">:upside_down:</span></p>



<a name="189821521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189821521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189821521">(Mar 05 2020 at 18:26)</a>:</h4>
<p>I'm really grateful to the work that y'all are doing to get a meeting together, though, and look forward to participating when we have a new time nailed down</p>



<a name="189822458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189822458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189822458">(Mar 05 2020 at 18:35)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Biweekly (fortnightly) check-in! Given the conversation above, I think pretty much everyone in that Zulip group already knows our status, but:</p>
<p>The main update is that we need to reschedule the meeting with the lang team.Also, Amanieu and I met and decided to eliminate one of the three proposals, narrowing us down to two.</p>
<p><span class="user-mention" data-user-id="143274">@Amanieu</span> you're not part of the <span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Zulip group. Would you like to be added? <span class="user-mention" data-user-id="132920">@gnzlbg</span> same question.</p>



<a name="189822550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189822550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189822550">(Mar 05 2020 at 18:36)</a>:</h4>
<p>Once we've confirmed a date (I'm guessing the 16th) for the meeting with the Lang team, I think it would make sense to post in <a class="stream" data-stream-id="213817" href="/#narrow/stream/213817-t-lang">#t-lang</a> again.</p>



<a name="189822642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189822642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189822642">(Mar 05 2020 at 18:37)</a>:</h4>
<p>hey all</p>



<a name="189824665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/189824665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#189824665">(Mar 05 2020 at 18:59)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> Sure, add me to the group.</p>



<a name="191147865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191147865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191147865">(Mar 19 2020 at 17:30)</a>:</h4>
<p>hey folks, I'm on PTO today but just wanted to drop in to say thank you for all the great discussion both synchronously on Monday and on here since. I'll be back at work tomorrow afternoon and will be writing up more of my thoughts about how I'm finding myself leaning</p>



<a name="191148186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148186">(Mar 19 2020 at 17:32)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Weekly check-in! It seems the next order of business is for the lang team to make a decision on the proposals we've set out; I think Niko can provide some guidance on how much (if any) this group is expected to participate in that process.</p>



<a name="191148316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148316">(Mar 19 2020 at 17:33)</a>:</h4>
<p>Update from me: I'm working on making <code>catch_unwind</code> catch and rethrow foreign exceptions. It's actually not as complicated as I thought it would be.</p>



<a name="191148423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148423">(Mar 19 2020 at 17:34)</a>:</h4>
<p>Well, my take is that i'd love to see some the "current status" thoughts from each person -- <span class="user-mention" data-user-id="237472">@acfoltzer</span> kind of provided their take, but I'm not sure about you, <span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span>. And I saw <span class="user-mention" data-user-id="143274">@Amanieu</span> wrote something like "I favor proposal 2" but I don't know if I know which one that is (I think "C unwind") and I'd be curious what their reasoning is.</p>



<a name="191148426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148426">(Mar 19 2020 at 17:34)</a>:</h4>
<p><span class="user-mention silent" data-user-id="143274">Amanieu</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/191148316" title="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/191148316">said</a>:</p>
<blockquote>
<p>Update from me: I'm working on making <code>catch_unwind</code> catch and rethrow foreign exceptions. It's actually not as complicated as I thought it would be.</p>
</blockquote>
<p>interesting!</p>



<a name="191148478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148478">(Mar 19 2020 at 17:34)</a>:</h4>
<p>I'm curious also how you think that should interact with forced exceptions</p>



<a name="191148606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148606">(Mar 19 2020 at 17:35)</a>:</h4>
<p>As long as the exception is rethrown, my understanding is that catching forced exceptions should work just like catching unforced exceptions.</p>



<a name="191148667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148667">(Mar 19 2020 at 17:35)</a>:</h4>
<p>(By "my understanding" I mean "I think this is what LLVM/C++/etc expect".)</p>



<a name="191148759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148759">(Mar 19 2020 at 17:36)</a>:</h4>
<p>I guess I don't know what <code>catch_unwind</code> "catching and rethrowing" foreign exceptions really means</p>



<a name="191148784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148784">(Mar 19 2020 at 17:36)</a>:</h4>
<p>like, I don't know what interface is being expsed to Rust users</p>



<a name="191148819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148819">(Mar 19 2020 at 17:36)</a>:</h4>
<p>I'm thinking about how C++ lets you catch "any exception", but doing so w/o rethrowing seems to be a kind of bug</p>



<a name="191148848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191148848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191148848">(Mar 19 2020 at 17:37)</a>:</h4>
<p>(because you can intercept forced exceptions and fail to rethrow)</p>



<a name="191149360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191149360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191149360">(Mar 19 2020 at 17:40)</a>:</h4>
<p>Same. I was actually thinking that there could be a better interface for invoking FFI code and catching foreign exceptions. Perhaps something like:</p>
<div class="codehilite"><pre><span></span>fn try_ffi(entrypoint: extern &quot;C&quot; fn(), exception_handler: FnOnce(ForeignException) -&gt; ContinueUnwind)
</pre></div>


<p>...where <code>ForeignException</code> is some opaque type, and <code>ContinueUnwind</code> is some type representing what the runtime should do after the handler has been invoked. (This is...sketchy. I haven't thought much about it yet.)</p>



<a name="191149553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191149553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191149553">(Mar 19 2020 at 17:42)</a>:</h4>
<p>Basically <code>catch_unwind</code> returns a <code>Box&lt;ForeignException&gt;</code> and <code>resume_unwind</code> magically turns that back into the original exception.</p>



<a name="191149653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191149653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191149653">(Mar 19 2020 at 17:42)</a>:</h4>
<p>Reviewing some older threads: one need, it seems, is the ability to re-throw the foreign exception from a different thread. Correct?</p>



<a name="191149962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191149962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191149962">(Mar 19 2020 at 17:45)</a>:</h4>
<p><span class="user-mention silent" data-user-id="143274">Amanieu</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/191149553" title="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/191149553">said</a>:</p>
<blockquote>
<p>Basically <code>catch_unwind</code> returns a <code>Box&lt;ForeignException&gt;</code> and <code>resume_unwind</code> magically turns that back into the original exception.</p>
</blockquote>
<p>ok, so nothing kind of <em>forces</em> you to do that "resume"</p>



<a name="191150017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191150017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191150017">(Mar 19 2020 at 17:45)</a>:</h4>
<p>Yes, sending the exception to another thread will work fine.</p>



<a name="191150225"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191150225" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191150225">(Mar 19 2020 at 17:47)</a>:</h4>
<p>There is no special handling for forced exceptions at the moment, but I can easily change <code>catch_unwind</code> to ignore foreign exceptions if necessary.</p>



<a name="191150269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191150269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191150269">(Mar 19 2020 at 17:47)</a>:</h4>
<p>I'm not sure if it should ignore them, seems maybe bad</p>



<a name="191150376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191150376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191150376">(Mar 19 2020 at 17:48)</a>:</h4>
<p>(But anyway that's something that can be hammered out at some point)</p>



<a name="191932682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/191932682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#191932682">(Mar 26 2020 at 18:56)</a>:</h4>
<p><span class="user-mention" data-user-id="237472">@acfoltzer</span> were you ever able to write up a comment?</p>



<a name="192698754"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192698754" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192698754">(Apr 02 2020 at 17:21)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/191932682" title="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/191932682">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="237472">acfoltzer</span> were you ever able to write up a comment?</p>
</blockquote>
<p>gah, Zulip signed me out in the background, I missed this <span aria-label="disappointed" class="emoji emoji-1f61e" role="img" title="disappointed">:disappointed:</span></p>



<a name="192698808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192698808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192698808">(Apr 02 2020 at 17:21)</a>:</h4>
<p>that's what I get for turning off all the email notifications I can</p>



<a name="192701515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192701515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192701515">(Apr 02 2020 at 17:43)</a>:</h4>
<p>It sounds like the horse is already out of the barn, which I am fine with, but just for posterity's sake I have three reasons for favoring a single <code>"C"</code> ABI, perhaps with a <code>#[nounwind]</code> attribute for optimization:</p>
<ul>
<li>Ease of explanation: "by default, <code>extern "C"</code> functions support the platform's unwinding mechanism" is pretty straightforward, and being able to explain the behavior of the ABI with <code>panic=unwind</code> vs <code>panic=abort</code> by direct analogy with <code>-fexceptions</code> vs <code>-fno-exceptions</code> means many folks will be able to reuse their previous knowledge</li>
<li>Flexibility of existing code: here I'm particularly thinking of the cancellation points in <code>libc</code>, but there are probably other callback-based libraries that are currently UB to use with exception-throwing code that would just become defined</li>
<li>Dodging the questions of subtyping and variance between <code>"C"</code> and <code>"C unwind"</code>: I agree that making these invariant is the right call for now since we can always wrap one in the other, but this is going to be a source of friction for callback APIs</li>
</ul>



<a name="192702224"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192702224" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192702224">(Apr 02 2020 at 17:49)</a>:</h4>
<p>Hm. I do find those reasons compelling.</p>
<p>I also wonder about <span class="user-mention" data-user-id="116009">@nikomatsakis</span>'s "Rust values" point. I agree that we don't want <code>panic=abort</code> to introduce UB, but it's almost stranger to me that we'd have UB with <code>panic=unwind</code> in some cases.</p>



<a name="192702283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192702283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192702283">(Apr 02 2020 at 17:49)</a>:</h4>
<p>I.e., I would generally expect that one of Rust's values is "do the right thing by default".</p>



<a name="192702367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192702367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192702367">(Apr 02 2020 at 17:50)</a>:</h4>
<p>And that another is "UB is usually not 'the right thing'".</p>



<a name="192702627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192702627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192702627">(Apr 02 2020 at 17:52)</a>:</h4>
<blockquote>
<p>Dodging the questions of subtyping and variance between "C" and "C unwind": I agree that making these invariant is the right call for now since we can always wrap one in the other, but this is going to be a source of friction for callback APIs</p>
</blockquote>
<p>Adding subtyping between types is <a href="https://internals.rust-lang.org/t/minimum-dyn-trait-subtyping-single-inheritance/8805/30?u=centril" title="https://internals.rust-lang.org/t/minimum-dyn-trait-subtyping-single-inheritance/8805/30?u=centril">*extremely unlikely*</a> as an addition to Rust. Coercions is at most what we would add for convenience, and then shims might be introduced automatically</p>



<a name="192702896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192702896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192702896">(Apr 02 2020 at 17:54)</a>:</h4>
<p>But both of those values are, I think, more of my own personal desires than ones espoused by the Rust community at large. It's not clear that they'd be shared more broadly.</p>



<a name="192702940"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192702940" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192702940">(Apr 02 2020 at 17:54)</a>:</h4>
<p><span class="user-mention" data-user-id="126931">@centril</span> That's why Adam is saying that introducing a new ABI is problematic.</p>



<a name="192703049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192703049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192703049">(Apr 02 2020 at 17:55)</a>:</h4>
<p><span class="user-mention" data-user-id="237472">@acfoltzer</span>  by subtyping do you include coercions?</p>



<a name="192703100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192703100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192703100">(Apr 02 2020 at 17:56)</a>:</h4>
<p>I ask because there's regular confusion between the two concepts</p>



<a name="192703129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192703129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192703129">(Apr 02 2020 at 17:56)</a>:</h4>
<p>Many don't actually mean subtyping when they use the term</p>



<a name="192703686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192703686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192703686">(Apr 02 2020 at 18:00)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span>  I don't think the lack of subtyping would add notable friction; most of the time you're dealing with top level coercions and not e.g., <code>Vec&lt;extern "C" fn()&gt;</code> where the question of subtyping would come into play</p>



<a name="192703779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192703779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192703779">(Apr 02 2020 at 18:01)</a>:</h4>
<p><code>&amp;'lifetime extern "C" fn()</code> would also be an example, but that seems like an unusual type</p>



<a name="192704025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192704025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192704025">(Apr 02 2020 at 18:02)</a>:</h4>
<p>coercions would suffice as well, but it'd still be complicated to work out which coercions are valid where, because functions are contravariant</p>



<a name="192704082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192704082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192704082">(Apr 02 2020 at 18:03)</a>:</h4>
<p>I say subtyping because that's how I think about it from my academic PL background :)</p>



<a name="192704273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192704273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192704273">(Apr 02 2020 at 18:04)</a>:</h4>
<p><span class="user-mention" data-user-id="237472">@acfoltzer</span>  that's surprising, precisely because from a type theoretic perspective (at least that which I know of) coercions are understood as something else</p>



<a name="192704469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192704469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192704469">(Apr 02 2020 at 18:05)</a>:</h4>
<p>for this topic I'm leaning on my knowledge of the multi-language semantics literature, contracts, blame calculus, etc</p>



<a name="192704511"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192704511" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192704511">(Apr 02 2020 at 18:06)</a>:</h4>
<p>To my knowledge we have generic infrastructure for handling contravariance and such</p>



<a name="192704534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192704534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192704534">(Apr 02 2020 at 18:06)</a>:</h4>
<p>I'm less of a type theorist :)</p>



<a name="192704537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192704537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192704537">(Apr 02 2020 at 18:06)</a>:</h4>
<p>(with respect to coercions)</p>



<a name="192704790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192704790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192704790">(Apr 02 2020 at 18:08)</a>:</h4>
<p>I should probably re-read <a href="https://doc.rust-lang.org/nomicon/coercions.html" title="https://doc.rust-lang.org/nomicon/coercions.html">https://doc.rust-lang.org/nomicon/coercions.html</a></p>



<a name="192705184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192705184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192705184">(Apr 02 2020 at 18:12)</a>:</h4>
<p>In any case: for now, I am drafting a PR for <code>"C unwind"</code>. I think we'll have time before submitting it as a PR to re-open discussion with the lang team; <span class="user-mention" data-user-id="116009">@nikomatsakis</span> should Adam share his bullet points above in <a class="stream" data-stream-id="213817" href="/#narrow/stream/213817-t-lang">#t-lang</a> ?</p>



<a name="192705343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192705343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192705343">(Apr 02 2020 at 18:13)</a>:</h4>
<p><span class="user-mention" data-user-id="237472">@acfoltzer</span>  for contravariance we can take <code>unsafe fn</code>'s lead:</p>
<div class="codehilite"><pre><span></span><span class="k">fn</span> <span class="nf">foo</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">a</span>: <span class="nc">fn</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">loop</span><span class="w"> </span><span class="p">{};</span><span class="w"></span>
<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">b</span>: <span class="nc">unsafe</span><span class="w"> </span><span class="k">fn</span><span class="p">()</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">a</span><span class="p">;</span><span class="w"> </span><span class="c1">// OK.</span>

<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">c</span>: <span class="nc">fn</span><span class="p">(</span><span class="k">fn</span><span class="p">())</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">loop</span><span class="w"> </span><span class="p">{};</span><span class="w"></span>
<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">d</span>: <span class="nc">fn</span><span class="p">(</span><span class="k">unsafe</span><span class="w"> </span><span class="k">fn</span><span class="p">())</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="p">;</span><span class="w"> </span><span class="c1">// ERROR.</span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="192705537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192705537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192705537">(Apr 02 2020 at 18:15)</a>:</h4>
<p>got it, that makes sense</p>



<a name="192706400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192706400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192706400">(Apr 02 2020 at 18:22)</a>:</h4>
<p>(So the coercion <code>extern "C" fn()</code> to <code>extern "C unwind" fn()</code> would OK and doesn't need a shim; the reverse coercion would also be OK but would need a shim to abort unless perhaps with <code>-C panic=abort</code>.)</p>



<a name="192851702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192851702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192851702">(Apr 03 2020 at 19:15)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120076">BatmanAoD (Kyle Strand)</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/192705184" title="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/192705184">said</a>:</p>
<blockquote>
<p>In any case: for now, I am drafting a PR for <code>"C unwind"</code>. I think we'll have time before submitting it as a PR to re-open discussion with the lang team; <span class="user-mention silent" data-user-id="116009">nikomatsakis</span> should Adam share his bullet points above in <a class="stream" data-stream-id="213817" href="/#narrow/stream/213817-t-lang">#t-lang</a> ?</p>
</blockquote>
<p>I found them informative.</p>



<a name="192851737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192851737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192851737">(Apr 03 2020 at 19:15)</a>:</h4>
<p>but I don't know that we have to post them in t-lang necessarily</p>



<a name="192851821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192851821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192851821">(Apr 03 2020 at 19:16)</a>:</h4>
<p><span class="user-mention silent" data-user-id="237472">acfoltzer</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/192701515" title="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/192701515">said</a>:</p>
<blockquote>
<p>It sounds like the horse is already out of the barn, which I am fine with, but just for posterity's sake I have three reasons for favoring a single <code>"C"</code> ABI, perhaps with a <code>#[nounwind]</code> attribute for optimization:</p>
<ul>
<li>Ease of explanation: "by default, <code>extern "C"</code> functions support the platform's unwinding mechanism" is pretty straightforward, and being able to explain the behavior of the ABI with <code>panic=unwind</code> vs <code>panic=abort</code> by direct analogy with <code>-fexceptions</code> vs <code>-fno-exceptions</code> means many folks will be able to reuse their previous knowledge</li>
<li>Flexibility of existing code: here I'm particularly thinking of the cancellation points in <code>libc</code>, but there are probably other callback-based libraries that are currently UB to use with exception-throwing code that would just become defined</li>
<li>Dodging the questions of subtyping and variance between <code>"C"</code> and <code>"C unwind"</code>: I agree that making these invariant is the right call for now since we can always wrap one in the other, but this is going to be a source of friction for callback APIs</li>
</ul>
</blockquote>
<p><span class="user-group-mention" data-user-group-id="1977">@T-lang</span> -- regarding the "C" vs "C unwind" question, these are the points that <span class="user-mention" data-user-id="237472">@acfoltzer</span> submitted <span aria-label="point up" class="emoji emoji-1f446" role="img" title="point up">:point_up:</span></p>



<a name="192851919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192851919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192851919">(Apr 03 2020 at 19:17)</a>:</h4>
<p>Would unifying them lead to a substantial degree of additional code size by default?</p>



<a name="192852231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192852231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192852231">(Apr 03 2020 at 19:20)</a>:</h4>
<p>If we unified them, it would mean that:</p>
<ul>
<li>with panic=unwind, we emit unwind tables even for foreign calls; today we mark them as no-unwind, so this would have some impact, but not much, since we're emitting unwind tables everywhere else;</li>
<li>with panic=abort, we would do the same as today, so you would have no code size increase at all, full optimization</li>
</ul>



<a name="192852266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192852266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192852266">(Apr 03 2020 at 19:20)</a>:</h4>
<p>However, the downside is that you may have some library that interacts with c++ code where that C++ code throws an exception</p>



<a name="192852275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192852275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192852275">(Apr 03 2020 at 19:20)</a>:</h4>
<p>This Rust library is UB to use with panic=abort</p>



<a name="192852301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192852301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192852301">(Apr 03 2020 at 19:21)</a>:</h4>
<p>But you won't really get any kind of "warning" about that, we don't really have a way to "signal that" now</p>



<a name="192852335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192852335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192852335">(Apr 03 2020 at 19:21)</a>:</h4>
<p>If otoh that library were using "C unwind" as its abi (thus declaring its intention to interact with foreign exceptions), we could at least give you a hard error</p>



<a name="192852363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192852363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192852363">(Apr 03 2020 at 19:21)</a>:</h4>
<p>On the <em>other other</em> hand, we <em>could</em> catch and abort with unwinding and panic=abort in debug code without any real problem, so maybe you'd notice these problems relatively early.</p>



<a name="192852471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192852471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192852471">(Apr 03 2020 at 19:22)</a>:</h4>
<p>That's why, to me, this kind of comes down to how much we should be pushing people to write code that interoperates with panic=abort and panic=unwind, which was the thing I emphasized in my earlier comment.</p>



<a name="192852505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192852505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192852505">(Apr 03 2020 at 19:23)</a>:</h4>
<p>But I think another key question is how hard you think it is to explain to people that they have to use "C unwind" if they expect foreign exceptions to propagate across the boundary. That doesn't seem too hard to me, but I may be 'too close' to see the cognitive cost.</p>



<a name="192856742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/192856742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#192856742">(Apr 03 2020 at 20:00)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/192852335" title="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/192852335">said</a>:</p>
<blockquote>
<p>If otoh that library were using "C unwind" as its abi (thus declaring its intention to interact with foreign exceptions), we could at least give you a hard error</p>
</blockquote>
<p>To clarify, this would be a runtime error (<code>abort</code>)</p>



<a name="193107004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/193107004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#193107004">(Apr 06 2020 at 21:52)</a>:</h4>
<p>Yes, correct, sorry.</p>



<a name="194339656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194339656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194339656">(Apr 16 2020 at 17:30)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Weekly check-in!</p>



<a name="194339705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194339705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194339705">(Apr 16 2020 at 17:30)</a>:</h4>
<p>Niko has written some decently extensive comments on the RFC draft, but I haven't addressed them yet. I should be able to get to them this weekend, I think.</p>



<a name="194339729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194339729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194339729">(Apr 16 2020 at 17:30)</a>:</h4>
<p>Nothing else to report at this time.</p>



<a name="194339837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194339837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194339837">(Apr 16 2020 at 17:31)</a>:</h4>
<p>At this point the only task left for this WG is writing the RFC. So I don't think there is anything else to report.</p>



<a name="194339841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194339841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194339841">(Apr 16 2020 at 17:31)</a>:</h4>
<p>I have the RFC draft on my github review queue, but that queue is currently growing faster than I can get through <span aria-label="upside down" class="emoji emoji-1f643" role="img" title="upside down">:upside_down:</span></p>



<a name="194339941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194339941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194339941">(Apr 16 2020 at 17:32)</a>:</h4>
<p>I would like to take a look but am turbo-busy at work currently, so don't hold up the merge if I am not able to make the time</p>



<a name="194339966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194339966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194339966">(Apr 16 2020 at 17:32)</a>:</h4>
<p>Okay, understandable.</p>



<a name="194339998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194339998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194339998">(Apr 16 2020 at 17:33)</a>:</h4>
<p>Are you okay with moving forward under the assumption that we'll introduce <code>"C unwind"</code>?</p>



<a name="194340037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340037">(Apr 16 2020 at 17:33)</a>:</h4>
<p>That's the main thing we might need your input on</p>



<a name="194340039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340039">(Apr 16 2020 at 17:33)</a>:</h4>
<p>I feel very comfortable that my perspective has been incorporated so far, and yes, okay with <code>"C unwind"</code></p>



<a name="194340055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340055">(Apr 16 2020 at 17:33)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="194340059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340059">(Apr 16 2020 at 17:33)</a>:</h4>
<p>I still have a preference for <code>"C"</code> but not a deeply held one</p>



<a name="194340078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340078">(Apr 16 2020 at 17:33)</a>:</h4>
<p>I think I'm in a similar boat</p>



<a name="194340173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340173">(Apr 16 2020 at 17:34)</a>:</h4>
<p>Fortunately, I think most of the RFC text will be similar regardless of which we pick</p>



<a name="194340222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340222">(Apr 16 2020 at 17:34)</a>:</h4>
<p>But I think when the RFC is ready to submit, we should maybe discuss one last time, so that when we submit it as a PR to the actual <code>rfcs</code> repo, we are fully committed to <code>"C unwind"</code> (or not)</p>



<a name="194340348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340348">(Apr 16 2020 at 17:35)</a>:</h4>
<p>I should say, my preference for <code>"C"</code> is less strong than my desire for things to move forward either way. from a Fastly perspective either solution will meet our needs</p>



<a name="194340454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340454">(Apr 16 2020 at 17:36)</a>:</h4>
<p>I think it's probably the case that both solutions will meet everyone's _needs_ but not necessarily everyone's "ideal case"</p>



<a name="194340493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340493">(Apr 16 2020 at 17:36)</a>:</h4>
<p>I do think defaults matter, and overall Rust has done such an impressive job of having good defaults that I'd hate to contribute a new case where the default seems wrong!</p>



<a name="194340567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340567">(Apr 16 2020 at 17:37)</a>:</h4>
<p>But I also think that "the default seems wrong" is probably not something we'll know without the benefit of hindsight from many people using the feature over time</p>



<a name="194340805"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194340805" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194340805">(Apr 16 2020 at 17:39)</a>:</h4>
<p>Well, unless <span class="user-mention" data-user-id="116009">@nikomatsakis</span> has anything to add, I think we can call that a wrap</p>



<a name="194349094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194349094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194349094">(Apr 16 2020 at 18:39)</a>:</h4>
<p>Sorry, I was distracted today</p>



<a name="194351154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/194351154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#194351154">(Apr 16 2020 at 18:55)</a>:</h4>
<p>No problem.</p>



<a name="195872740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195872740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195872740">(Apr 30 2020 at 17:21)</a>:</h4>
<p>hey y'all, I have a conflict for our usual 10:30 time today, but I was able to offer some (very minor) comments on the RFC just now. I am very impressed by and grateful for the work that y'all have done on this. it really will make a big difference for our work on Lucet</p>



<a name="195872808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195872808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195872808">(Apr 30 2020 at 17:22)</a>:</h4>
<p>I'm around was going to go take a fresh look</p>



<a name="195872993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195872993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195872993">(Apr 30 2020 at 17:23)</a>:</h4>
<p>I do have a bit of a "ok let's just do this thing" feeling</p>



<a name="195873072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195873072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195873072">(Apr 30 2020 at 17:24)</a>:</h4>
<p>i.e., even if there might be ways to improve the text...not clear how much it's worth it, as long as we all agree unambiguously on the end result</p>



<a name="195873190"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195873190" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195873190">(Apr 30 2020 at 17:25)</a>:</h4>
<p>I was going to write up my main higher-level concern, but I see that there's already a discussion underway in <a class="stream-topic" data-stream-id="210922" href="/#narrow/stream/210922-project-ffi-unwind/topic/Revised.20RFC">#project-ffi-unwind &gt; Revised RFC</a> on the same topic. I worry that there's a fair amount of prerequisite knowledge required to grasp the distinction between forced and non-forced unwinding. But I also am leaning toward Niko's "let's just do this thing" assessment</p>



<a name="195873279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195873279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195873279">(Apr 30 2020 at 17:25)</a>:</h4>
<p>I would like it that people who read it .. yeah .. understand well what it means</p>



<a name="195873325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195873325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195873325">(Apr 30 2020 at 17:26)</a>:</h4>
<p>but also some of that enery can go into writing up docs for the reference</p>



<a name="195874394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195874394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195874394">(Apr 30 2020 at 17:34)</a>:</h4>
<p>I think the specification is going to ultimately be the same; the current RFC already does state that <code>longjmp</code> and <code>pthread_exit</code> are treated the same regardless of whether forced unwinding is involved or not. I am game to change it around, but I think the entire framing would need to change from "unwinding is now allowed, with 'C unwind'" to "non-local control flow involving FFI".</p>



<a name="195874409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195874409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195874409">(Apr 30 2020 at 17:34)</a>:</h4>
<p>The 'unwinding' framing matches the name of the new ABI string pretty well, which I think is a plus.</p>



<a name="195874593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195874593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195874593">(Apr 30 2020 at 17:36)</a>:</h4>
<p>To me, it seems like anyone who wants to be doing cross-language unwinding is probably going to know the word "unwinding", and also know that "panic" in Rust and "exceptions" in C++ are both forms of "unwinding". They may or may not also know about "forced unwinding", but if they click through to see previous discussions and/or the Inside Rust blog post, they'll _definitely_ see "forced unwinding". So I think it's good to at least mention it, and then say "nope, this doesn't count."</p>



<a name="195874821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195874821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195874821">(Apr 30 2020 at 17:37)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> I think everyone interested in the weekly sync-up may already be here, but just in case, here's your notification!</p>



<a name="195875223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195875223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195875223">(Apr 30 2020 at 17:41)</a>:</h4>
<p>I'm checking out your PR locally</p>



<a name="195875454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195875454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195875454">(Apr 30 2020 at 17:42)</a>:</h4>
<p>I was curious to read it again and experiment a bit</p>



<a name="195875471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195875471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195875471">(Apr 30 2020 at 17:42)</a>:</h4>
<p>I'm not sure I follow the idea that it will require massive rewrites</p>



<a name="195875828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195875828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195875828">(Apr 30 2020 at 17:46)</a>:</h4>
<p>I don't mean that the entire thing would need to be thrown out; it's more that the framing in terms of "unwinding" seems incorrect if we want to specify the behavior in terms of things-that-cause-non-local-control-flow.</p>



<a name="195876086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876086">(Apr 30 2020 at 17:47)</a>:</h4>
<p>re-reading it, I think it seems "pretty ok",</p>



<a name="195876147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876147">(Apr 30 2020 at 17:48)</a>:</h4>
<p>although I find the phrase "unforced foreign unwind" (sometimes we say "non-forced foreign unwind"...) kind of confusing</p>



<a name="195876177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876177">(Apr 30 2020 at 17:48)</a>:</h4>
<p>"nonunforced"?</p>



<a name="195876196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876196">(Apr 30 2020 at 17:48)</a>:</h4>
<p>Please tell me I didn't write that <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="195876202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876202">(Apr 30 2020 at 17:48)</a>:</h4>
<p>no, you wrote unforced and non-forced</p>



<a name="195876208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876208">(Apr 30 2020 at 17:48)</a>:</h4>
<p>ah</p>



<a name="195876212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876212">(Apr 30 2020 at 17:48)</a>:</h4>
<p>both of which are confounding to me :)</p>



<a name="195876220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876220">(Apr 30 2020 at 17:49)</a>:</h4>
<p>i.e., I know what it means</p>



<a name="195876228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876228">(Apr 30 2020 at 17:49)</a>:</h4>
<p>"unforced error"</p>



<a name="195876229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876229">(Apr 30 2020 at 17:49)</a>:</h4>
<p>but my brain has to sit and decode it</p>



<a name="195876240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876240">(Apr 30 2020 at 17:49)</a>:</h4>
<p>like in Tennis</p>



<a name="195876245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876245">(Apr 30 2020 at 17:49)</a>:</h4>
<p>I would rather just say "foreign unwind"</p>



<a name="195876276"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876276" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876276">(Apr 30 2020 at 17:49)</a>:</h4>
<p>this is a flaw in the terminology, I guess, which suggested that foreign unwind is the superset of the two</p>



<a name="195876300"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876300" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876300">(Apr 30 2020 at 17:49)</a>:</h4>
<p>when that is just not a useful concept, since they share nothing in common in terms of our behavior</p>



<a name="195876327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876327">(Apr 30 2020 at 17:49)</a>:</h4>
<p>it'd be better to just call it "forced unwind" in this way :)</p>



<a name="195876328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876328">(Apr 30 2020 at 17:49)</a>:</h4>
<p>Yeah, I think we can just say in the "forced unwinding" section something like "throughout this RFC, unwinding does not refer to forced-unwinding, unless otherwise specified"</p>



<a name="195876342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876342">(Apr 30 2020 at 17:49)</a>:</h4>
<p>I'd be in favor of that</p>



<a name="195876414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876414">(Apr 30 2020 at 17:50)</a>:</h4>
<p>I think we should call it </p>
<ul>
<li>Rust panic</li>
<li>foreign unwind</li>
<li>forced unwind</li>
</ul>



<a name="195876480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876480">(Apr 30 2020 at 17:50)</a>:</h4>
<p>The more I think about it, the forced-unwinding section is mostly a disclaimer: "we don't actually support this in the same way that we support other unwinding"</p>



<a name="195876518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876518">(Apr 30 2020 at 17:51)</a>:</h4>
<p>Whereas when I wrote that section originally (and the blog post), I was thinking more "here's some necessary context for the specification of the new behavior"</p>



<a name="195876569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876569">(Apr 30 2020 at 17:51)</a>:</h4>
<p>Not to toot my own horn, but taking the forced-unwind columns out of the table entirely was a good decision, I think.</p>



<a name="195876733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876733">(Apr 30 2020 at 17:52)</a>:</h4>
<p>I will review, and try to limit discussion of forced-unwinding-as-such to the "forced unwind" section, which I will then review with my newfound "this is a disclaimer" mindset.</p>



<a name="195876812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195876812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195876812">(Apr 30 2020 at 17:53)</a>:</h4>
<p>Wherever else forced unwinding shows up, I'll make sure it's more of a footnote - "see the force unwind disclaimer"</p>



<a name="195877369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195877369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195877369">(Apr 30 2020 at 17:57)</a>:</h4>
<p>I'm currently editing the motivation a bit</p>



<a name="195877383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195877383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195877383">(Apr 30 2020 at 17:57)</a>:</h4>
<p>do you mind if I push some commits to your branch?</p>



<a name="195877392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195877392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195877392">(Apr 30 2020 at 17:57)</a>:</h4>
<p>I'll ping you when I do</p>



<a name="195877458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195877458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195877458">(Apr 30 2020 at 17:58)</a>:</h4>
<p>I'm trying to address my point about adding in our design constriants</p>



<a name="195877484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195877484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195877484">(Apr 30 2020 at 17:58)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> <span aria-label="point up" class="emoji emoji-1f446" role="img" title="point up">:point_up:</span></p>



<a name="195877583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195877583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195877583">(Apr 30 2020 at 17:59)</a>:</h4>
<p>I think one remaining interesting point is what to say about foreign exceptions propagating through Rust frames</p>



<a name="195877854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195877854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195877854">(Apr 30 2020 at 18:01)</a>:</h4>
<p>I do not mind</p>



<a name="195878573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195878573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195878573">(Apr 30 2020 at 18:07)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> take a look!</p>



<a name="195879150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195879150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195879150">(Apr 30 2020 at 18:11)</a>:</h4>
<p>Looks good, though shouldn't the 'analysis of key design goals' subsection go in the 'rationale' section?</p>



<a name="195879256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195879256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195879256">(Apr 30 2020 at 18:12)</a>:</h4>
<p>Also, I thought it would be good to call out that this RFC was drafted by the project group, so I added that to the "header" material at the top. What do you think?</p>



<a name="195879481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195879481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195879481">(Apr 30 2020 at 18:13)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120076">BatmanAoD (Kyle Strand)</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/195879150" title="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/195879150">said</a>:</p>
<blockquote>
<p>Looks good, though shouldn't the 'analysis of key design goals' subsection go in the 'rationale' section?</p>
</blockquote>
<p>move it to wherever you feel best</p>



<a name="195879508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195879508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195879508">(Apr 30 2020 at 18:13)</a>:</h4>
<p>one thing though</p>



<a name="195879532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195879532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195879532">(Apr 30 2020 at 18:13)</a>:</h4>
<p>I think we should a "key goal" to be enabling longjmp-based error handling</p>



<a name="195879574"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195879574" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195879574">(Apr 30 2020 at 18:14)</a>:</h4>
<p>I forgot that I think</p>



<a name="195879590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195879590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195879590">(Apr 30 2020 at 18:14)</a>:</h4>
<p>I <em>think</em> that kind of covers the "three scenarios" we care about?</p>



<a name="195880807"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195880807" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195880807">(Apr 30 2020 at 18:22)</a>:</h4>
<p>Well, I noticed that I already had a very similar bullet-point list, based on the Inside Rust post's list.</p>



<a name="195880858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195880858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195880858">(Apr 30 2020 at 18:23)</a>:</h4>
<p>One that was missing from your list, which I've now incorporated, is keeping the <code>libc</code> API stable.</p>



<a name="195880896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195880896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195880896">(Apr 30 2020 at 18:23)</a>:</h4>
<p>That's sort of the same requirement, is it? Though it should be rephrased to explain why it's relevant.</p>



<a name="195880928"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195880928" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195880928">(Apr 30 2020 at 18:23)</a>:</h4>
<p>Hmmmm never mind, sorry, that's b/c of <code>pthread_exit</code>, not <code>longjmp</code></p>



<a name="195881337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195881337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195881337">(Apr 30 2020 at 18:26)</a>:</h4>
<p>regardless it's ok to say twice :)</p>



<a name="195881352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195881352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195881352">(Apr 30 2020 at 18:26)</a>:</h4>
<p>but I do feel it's distinct</p>



<a name="195881383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195881383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195881383">(Apr 30 2020 at 18:26)</a>:</h4>
<p>Oh, I was thinking that if they were the same issue, it could be rephrased to focus on <code>longjmp</code> instead of <code>libc</code></p>



<a name="195881397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195881397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195881397">(Apr 30 2020 at 18:26)</a>:</h4>
<p>but they are not the same, so I'll introduce a new bullet.</p>



<a name="195883381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195883381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195883381">(Apr 30 2020 at 18:40)</a>:</h4>
<p>I can't find it now, but I left a comment in response to one of yours about the "inert" terminology. I am starting to lean towards adopting such a term, though as I mentioned I'm not sold on "inert" specifically.</p>



<a name="195883415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/195883415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#195883415">(Apr 30 2020 at 18:40)</a>:</h4>
<p>I think I suggested "disposable"?</p>



<a name="196008195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196008195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196008195">(May 01 2020 at 20:49)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120076">BatmanAoD (Kyle Strand)</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/195883381" title="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/195883381">said</a>:</p>
<blockquote>
<p>I can't find it now, but I left a comment in response to one of yours about the "inert" terminology. I am starting to lean towards adopting such a term, though as I mentioned I'm not sold on "inert" specifically.</p>
</blockquote>
<p>I did feel it was missing, <span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span></p>



<a name="196008225"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196008225" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196008225">(May 01 2020 at 20:49)</a>:</h4>
<p>I refrained from suggesting it, but it felt like a "concept" that arose a few times</p>



<a name="196008237"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196008237" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196008237">(May 01 2020 at 20:49)</a>:</h4>
<p>and sometimes we were consistent with saying "or catch-unwind"</p>



<a name="196008243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196008243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196008243">(May 01 2020 at 20:49)</a>:</h4>
<p>and sometimes we just talked about destructors</p>



<a name="196008282"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196008282" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196008282">(May 01 2020 at 20:49)</a>:</h4>
<p>an option might be to .. steal a term like POD?</p>



<a name="196008284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196008284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196008284">(May 01 2020 at 20:49)</a>:</h4>
<p>that's probably confusing</p>



<a name="196011592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196011592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196011592">(May 01 2020 at 21:21)</a>:</h4>
<p>I think I'd rather just create a new term, as long as it's somewhat intuitive. Now that I think about it, though, an actual precise definition is a little bit difficult, because there are edge cases where frames with destructors or <code>catch_unwind</code> would still be "disposable":</p>
<ul>
<li>All <code>Drop</code> objects have been <code>move</code>d out of scope</li>
<li>All <code>Drop</code> objects have already been <code>drop</code>ped</li>
<li>The <code>catch_unwind</code> has already executed</li>
</ul>
<p>...etc. One way to define it might be to say "a <code>panic</code> would not cause any non-trivial code to execute", where "non-trivial" means... something about side effects, I guess.</p>



<a name="196014297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196014297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196014297">(May 01 2020 at 21:51)</a>:</h4>
<p>I think we can wave our hands and say "destructors in scope"</p>



<a name="196014302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196014302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196014302">(May 01 2020 at 21:51)</a>:</h4>
<p>it's good enough for now</p>



<a name="196014404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196014404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196014404">(May 01 2020 at 21:52)</a>:</h4>
<p>where "destructors in scope" means that there is a live (non-moved) value whose type has a destructor, or something like that (the notion in the compiler is "drop glue", but I don't know what term we use in the reference)</p>



<a name="196017818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196017818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196017818">(May 01 2020 at 22:39)</a>:</h4>
<p>at a high level, catch_unwind is just fancy drop glue :)</p>
<p>it's a bit unfortunate we don't have a nice term here though I think</p>



<a name="196018991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196018991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196018991">(May 01 2020 at 22:59)</a>:</h4>
<p>Do either of you know why it's called "glue"?</p>



<a name="196024271"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196024271" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196024271">(May 02 2020 at 00:34)</a>:</h4>
<p>hm, not entirely, but probably because it's "glue code" related to drop :)<br>
There's references to it as early as 2014 in the rfcs repo, for example</p>



<a name="196045155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196045155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196045155">(May 02 2020 at 10:25)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116122">simulacrum</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/196017818" title="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/196017818">said</a>:</p>
<blockquote>
<p>it's a bit unfortunate we don't have a nice term here though I think</p>
</blockquote>
<p>I know</p>



<a name="196045197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196045197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196045197">(May 02 2020 at 10:26)</a>:</h4>
<p>the term glue code predates me, but it was used for any automatically generated code that walked the type structure</p>



<a name="196048042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196048042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196048042">(May 02 2020 at 11:48)</a>:</h4>
<p>technically it's "landing pads" I think, at least on MSVC? But we could co-opt the term to other platforms. Though that could be confusing in and of itself.</p>



<a name="196048059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196048059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196048059">(May 02 2020 at 11:49)</a>:</h4>
<p>AIUI, we can't even really say "code executes during unwinding", because at least at a high level DWARF unwinding is capable of executing essentially arbitrary code (not machine-level, but DWARF level)</p>



<a name="196049618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196049618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196049618">(May 02 2020 at 12:31)</a>:</h4>
<p>Also because of drop flags we may still have landing pads while not have any destructors to execute.</p>



<a name="196049621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196049621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196049621">(May 02 2020 at 12:31)</a>:</h4>
<div class="codehilite"><pre><span></span><code><span class="kd">let</span><span class="w"> </span><span class="n">x</span><span class="p">;</span><span class="w"></span>
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">foo</span><span class="p">)</span><span class="w"></span>
<span class="w">    </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">String</span>::<span class="n">new</span><span class="p">(</span><span class="s">&quot;foo&quot;</span><span class="p">);</span><span class="w"></span>
<span class="n">longjmp</span><span class="p">();</span><span class="w"></span>
</code></pre></div>



<a name="196049693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196049693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196049693">(May 02 2020 at 12:33)</a>:</h4>
<p>Is this allowed if <code>foo</code> is false? Technically no destructors run, but we still have to run code to check if <code>x</code> has been initialized.</p>



<a name="196184653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196184653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196184653">(May 04 2020 at 14:10)</a>:</h4>
<p>interesting question, really narrowing down just when it is legal is an interesting question. In practice it seems like it'd be fine to skip the landing pad in that example, but it's probably UB from LLVM's perspective</p>



<a name="196189179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196189179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196189179">(May 04 2020 at 14:38)</a>:</h4>
<p>Really? I would not expect LLVM to make that UB...</p>



<a name="196208873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/196208873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#196208873">(May 04 2020 at 16:52)</a>:</h4>
<p>I don't think LLVM will make that UB either. And I agree that it's fine to skip the landing pad in this case.</p>



<a name="197590619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/197590619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#197590619">(May 14 2020 at 17:34)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Biweekly check-in!</p>



<a name="197590768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/197590768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#197590768">(May 14 2020 at 17:35)</a>:</h4>
<p>As I said in <a class="stream-topic" data-stream-id="210922" href="/#narrow/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc">#project-ffi-unwind &gt; posting the RFc</a> , there are still a few TODOs left in the RFC. I am probably still the best person to write these up, but the 'TODO' comments in the draft should be sufficient for any interested parties to lend a hand.</p>



<a name="197590778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/197590778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#197590778">(May 14 2020 at 17:35)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> hey, no updates from me this week. currently double-booked with the Bytecode Alliance meeting. I don't see any review requests on Github anymore, but let me know if there's more I can do to help</p>



<a name="197591071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/197591071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#197591071">(May 14 2020 at 17:38)</a>:</h4>
<p>No real updates, I'd like to post the RFC</p>



<a name="199054376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054376">(May 28 2020 at 17:31)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Biweekly check-in. No updates from me, I'm afraid, but I might be able to finish up the RFC and get it ready for submission to <code>rust-lang/rfcs</code> within the next few days.</p>



<a name="199054406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054406">(May 28 2020 at 17:31)</a>:</h4>
<p>no update on my part except that this would be excellent!</p>



<a name="199054442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054442">(May 28 2020 at 17:31)</a>:</h4>
<p>I don't really mind the delay, <span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span>, but if finishing up the RFC is stressing you in particular let me know and maybe I can take it off your hands</p>



<a name="199054480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054480">(May 28 2020 at 17:31)</a>:</h4>
<p>or maybe <span class="user-mention" data-user-id="237472">@acfoltzer</span> can :P</p>



<a name="199054550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054550">(May 28 2020 at 17:32)</a>:</h4>
<p>/me volunteers other people</p>



<a name="199054553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054553">(May 28 2020 at 17:32)</a>:</h4>
<p>aaaaaaa</p>



<a name="199054567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054567">(May 28 2020 at 17:32)</a>:</h4>
<p>:P</p>



<a name="199054577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054577">(May 28 2020 at 17:32)</a>:</h4>
<p>It's just a lack of time <span aria-label="shrug" class="emoji emoji-1f937" role="img" title="shrug">:shrug:</span></p>



<a name="199054640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054640">(May 28 2020 at 17:32)</a>:</h4>
<p>And energy, I guess. But no, the specific task is no big deal.</p>



<a name="199054719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054719">(May 28 2020 at 17:33)</a>:</h4>
<p>I am willing to help but this week is pretty bad. I have more light in my calendar next week though</p>



<a name="199054734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054734">(May 28 2020 at 17:33)</a>:</h4>
<p>Oh, and it sounds like we're aligned enough on the "POF" terminology to move forward with that. Which removes the only blocker.</p>



<a name="199054823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054823">(May 28 2020 at 17:34)</a>:</h4>
<p>(we're currently onboarding Aaron Turon as our team's new manager, which is a rare experience to be savored)</p>



<a name="199054897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054897">(May 28 2020 at 17:35)</a>:</h4>
<p>That's awesome!</p>



<a name="199054913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199054913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199054913">(May 28 2020 at 17:35)</a>:</h4>
<p>actually, that's more than a parenthetical. I'm hoping that once Aaron is more up to speed, that he can help drive things forward in this group as well. he has a little bit more experience than I do at getting RFCs though :)</p>



<a name="199055372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199055372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199055372">(May 28 2020 at 17:38)</a>:</h4>
<p>Well, is that a wrap for today?</p>



<a name="199056183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199056183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199056183">(May 28 2020 at 17:46)</a>:</h4>
<p>Sounds like it. Stay safe and sane, everyone!</p>



<a name="199057363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/199057363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#199057363">(May 28 2020 at 17:54)</a>:</h4>
<p><span class="user-mention silent" data-user-id="237472">acfoltzer</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/199054823">said</a>:</p>
<blockquote>
<p>(we're currently onboarding Aaron Turon as our team's new manager, which is a rare experience to be savored)</p>
</blockquote>
<p>lol I was considering making some kind of joke about "I know your manager and can get you assigned to this" but I couldn't figure out how to make it funny</p>



<a name="200577353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200577353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200577353">(Jun 11 2020 at 17:25)</a>:</h4>
<p>Hey folks, early check-in for me since I have a conflict for our usual time. <span class="user-mention" data-user-id="301292">@Aaron Turon</span> has agreed to help represent the Fastly use case here while I am buried in (sadly unrelated, but fun) product work. From our perspective, we are fine with not handling longjmps at first. It really is the panics that we want to be able to propagate</p>



<a name="200577572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200577572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200577572">(Jun 11 2020 at 17:27)</a>:</h4>
<p>I'm a bit concerned about doing anything that would break longjmp, though, because currently it is "soft-guaranteed" to work.</p>



<a name="200577624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200577624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200577624">(Jun 11 2020 at 17:27)</a>:</h4>
<p>I.e. it's not in the Reference, but there have been numerous assurances that longjmp works as expected</p>



<a name="200578119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578119">(Jun 11 2020 at 17:31)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Bi-weekly check-in!</p>



<a name="200578159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578159">(Jun 11 2020 at 17:31)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="200578164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578164">(Jun 11 2020 at 17:31)</a>:</h4>
<p>it's been an interesting week :)</p>



<a name="200578202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578202">(Jun 11 2020 at 17:32)</a>:</h4>
<p>So, there are basically two outstanding points of potential concern, right?</p>



<a name="200578247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578247">(Jun 11 2020 at 17:32)</a>:</h4>
<p>Or maybe three</p>



<a name="200578299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578299">(Jun 11 2020 at 17:32)</a>:</h4>
<p>The RFC draft may be good enough at this point to merge; but we have some items to look into before we open an rfcs repo PR</p>



<a name="200578316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578316">(Jun 11 2020 at 17:32)</a>:</h4>
<p>^ yes</p>



<a name="200578358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578358">(Jun 11 2020 at 17:33)</a>:</h4>
<ul>
<li>Can we be assured that it is not LLVM-UB to have a "longjmp unwind" (forgot the term) across a POF, even if there are pending landing pads (which we know to be no-ops) or the function is marked as "noexcept"</li>
</ul>



<a name="200578450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578450">(Jun 11 2020 at 17:33)</a>:</h4>
<ul>
<li>Can/should we distinguish the idea of "not executing a dtor", which we've been calling UB, but perhaps we should use another term -- i.e., you're not allocated to longjmp over frames you don't control because that's a limit we put on what Rust code can do, but it's not in and of itself UB (it could cause UB though, and if it did, it would be your fault)</li>
</ul>



<a name="200578557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578557">(Jun 11 2020 at 17:34)</a>:</h4>
<ul>
<li>does guaranteeing longjmp correctness over POFs preclude useful future optimizations</li>
</ul>



<a name="200578559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578559">(Jun 11 2020 at 17:34)</a>:</h4>
<ul>
<li>Do we care about the fact that we are losing optimization potential here by "blessing" the idea of longjmp -- intriguingly, only a problem on linux</li>
</ul>



<a name="200578572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578572">(Jun 11 2020 at 17:34)</a>:</h4>
<p>(jinx)</p>



<a name="200578634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578634">(Jun 11 2020 at 17:35)</a>:</h4>
<p>and I guess the follow-up is, if we do, what are we doing to do about it ;)</p>



<a name="200578640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578640">(Jun 11 2020 at 17:35)</a>:</h4>
<p>I personally care a little :)</p>



<a name="200578702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578702">(Jun 11 2020 at 17:35)</a>:</h4>
<p>but I'm not sure yet what I think would be a solution</p>



<a name="200578837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578837">(Jun 11 2020 at 17:36)</a>:</h4>
<p>Q: is this also a problem for pthread exit?</p>



<a name="200578849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578849">(Jun 11 2020 at 17:36)</a>:</h4>
<p>Seems like it would be...</p>



<a name="200578866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578866">(Jun 11 2020 at 17:36)</a>:</h4>
<p>but I feel like it would be reasonable to move forward with the RFC but leaving longjmp and "forced exceptions" as an unresolved question -- I guess the tl;dr is that we could in principle require some extra annotation to indicate when you are calling a function that may not return</p>



<a name="200578876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578876">(Jun 11 2020 at 17:37)</a>:</h4>
<p>which btw ties in with the UB question</p>



<a name="200578925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578925">(Jun 11 2020 at 17:37)</a>:</h4>
<p>i.e., violating such an annotation would presumably be UB</p>



<a name="200578987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200578987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200578987">(Jun 11 2020 at 17:37)</a>:</h4>
<p>(and without it, all functions would be assumed to either terminate or return in some "controlled fashion" (unwinding or ordinary return))</p>



<a name="200579002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579002">(Jun 11 2020 at 17:37)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120076">BatmanAoD (Kyle Strand)</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/200578837">said</a>:</p>
<blockquote>
<p>Q: is this also a problem for pthread exit?</p>
</blockquote>
<p>yes</p>



<a name="200579094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579094">(Jun 11 2020 at 17:38)</a>:</h4>
<p>all the same arguments against annotations apply of course</p>



<a name="200579109"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579109" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579109">(Jun 11 2020 at 17:38)</a>:</h4>
<p>i.e., you could argue it should be an ABI</p>



<a name="200579130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579130">(Jun 11 2020 at 17:38)</a>:</h4>
<p>though it feels <em>awfully</em> niche to me</p>



<a name="200579163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579163">(Jun 11 2020 at 17:38)</a>:</h4>
<p>still, you could imagine wanting to call a function by pointer etc etc</p>



<a name="200579230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579230">(Jun 11 2020 at 17:39)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/200579094">said</a>:</p>
<blockquote>
<p>all the same arguments against annotations apply of course</p>
</blockquote>
<p>I feel like I want to think this through, actually</p>



<a name="200579241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579241">(Jun 11 2020 at 17:39)</a>:</h4>
<p>of the two, longjmp is probably a lot less niche than pthread_exit</p>



<a name="200579281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579281">(Jun 11 2020 at 17:39)</a>:</h4>
<p>right, but you mentioned <code>libc</code> yesterday, which IIRC is only a problem b/c of <code>pthread_exit</code>, not <code>longjmp</code></p>



<a name="200579295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579295">(Jun 11 2020 at 17:39)</a>:</h4>
<p>correct</p>



<a name="200579436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579436">(Jun 11 2020 at 17:40)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/200578987">said</a>:</p>
<blockquote>
<p>(and without it, all functions would be assumed to either terminate or return in some "controlled fashion" (unwinding or ordinary return))</p>
</blockquote>
<p><code>abort</code> should also be legal, correct? B/c even though it doesn't do cleanup, it shouldn't need to</p>



<a name="200579440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579440">(Jun 11 2020 at 17:40)</a>:</h4>
<p>(though, thinking more on it, I have to wonder if having some variant of <code>read</code> (<code>read_exit</code> or something) that is declared with a distinct UB (but links to the same C function) might be reasonable)</p>



<a name="200579471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579471">(Jun 11 2020 at 17:40)</a>:</h4>
<p>yes, terminate = abort</p>



<a name="200579489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579489">(Jun 11 2020 at 17:40)</a>:</h4>
<p>I don't know how we say that "more formally" somehow</p>



<a name="200579524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579524">(Jun 11 2020 at 17:41)</a>:</h4>
<p>well I guess just like that basically</p>



<a name="200579537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579537">(Jun 11 2020 at 17:41)</a>:</h4>
<p>so long as the process continues to exist...</p>



<a name="200579563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579563">(Jun 11 2020 at 17:41)</a>:</h4>
<p>anyway, leaving aside the "formalities" of it...</p>



<a name="200579595"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579595" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579595">(Jun 11 2020 at 17:41)</a>:</h4>
<p>we hvae plenty of mechanisms that abort, so obviously that has to be ok</p>



<a name="200579629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579629">(Jun 11 2020 at 17:41)</a>:</h4>
<p>Basically, destructors are only as "guaranteed" as they ever have been in any language <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="200579714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579714">(Jun 11 2020 at 17:42)</a>:</h4>
<p>right =) it's most interesting for <code>&amp;mut</code> in shared memory</p>



<a name="200579746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579746">(Jun 11 2020 at 17:42)</a>:</h4>
<p>(I think the answer there is that this concept is incorrect)</p>



<a name="200579770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579770">(Jun 11 2020 at 17:42)</a>:</h4>
<p>sorry, which concept?</p>



<a name="200579791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579791">(Jun 11 2020 at 17:42)</a>:</h4>
<p>giving an <code>&amp;mut</code> to shared memory</p>



<a name="200579843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579843">(Jun 11 2020 at 17:43)</a>:</h4>
<p>I have to kind of pin down the right way to express it, but there's some bit of the <code>&amp;mut</code> exclusiveness guarantee that you can't uphold</p>



<a name="200579890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579890">(Jun 11 2020 at 17:43)</a>:</h4>
<p>(tied in with this notion of ending a process)</p>



<a name="200579932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200579932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200579932">(Jun 11 2020 at 17:43)</a>:</h4>
<p>anyway I do feel like this can be left unresolved, though I'm not sure just what that implies for the RFC</p>



<a name="200580012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580012">(Jun 11 2020 at 17:44)</a>:</h4>
<p>and we will want to go on and resolve it :(</p>



<a name="200580071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580071">(Jun 11 2020 at 17:44)</a>:</h4>
<p>I don't actually think the argument for function-pointer annotations applies here, actually. An annotation indicating "this function might not return normally" doesn't affect the _call site_, does it?</p>



<a name="200580092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580092">(Jun 11 2020 at 17:44)</a>:</h4>
<p>it does</p>



<a name="200580105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580105">(Jun 11 2020 at 17:45)</a>:</h4>
<p>as the compiler can't optimize around it in the same way</p>



<a name="200580447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580447">(Jun 11 2020 at 17:47)</a>:</h4>
<p>well, a call to a function that might not return normally due to <code>longjmp</code> must only occur in another such function, unless it's the function with the corresponding <code>setjmp</code></p>



<a name="200580577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580577">(Jun 11 2020 at 17:48)</a>:</h4>
<p>so my impulse is to say "it's UB to <code>longjmp</code> over frames that aren't annotated as may-not-return"</p>



<a name="200580632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580632">(Jun 11 2020 at 17:48)</a>:</h4>
<p>(for <code>pthread_exit</code>, the entire thread must be comprised of such frames)</p>



<a name="200580711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580711">(Jun 11 2020 at 17:49)</a>:</h4>
<p>So the optimizations can only occur in the functions that are annotated that way.</p>



<a name="200580727"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580727" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580727">(Jun 11 2020 at 17:49)</a>:</h4>
<p>/me thinks</p>



<a name="200580735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580735">(Jun 11 2020 at 17:49)</a>:</h4>
<p>ok, so, that's true</p>



<a name="200580786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580786">(Jun 11 2020 at 17:49)</a>:</h4>
<p>so you're basically saying that if we tagged <code>#[longjmp]</code> (or whatever) on each fn that might be unwound</p>



<a name="200580796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580796">(Jun 11 2020 at 17:49)</a>:</h4>
<p>this also fits with the compiler doing checking</p>



<a name="200580858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580858">(Jun 11 2020 at 17:50)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120076">BatmanAoD (Kyle Strand)</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/200580711">said</a>:</p>
<blockquote>
<p>So the optimizations can only occur in the functions that are annotated that way.</p>
</blockquote>
<p>Er, strike that, reverse it</p>



<a name="200580875"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580875" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580875">(Jun 11 2020 at 17:50)</a>:</h4>
<p>yes, I think so</p>



<a name="200580888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580888">(Jun 11 2020 at 17:50)</a>:</h4>
<p>it's not as precise, which is why I didn't like it at first, but</p>



<a name="200580901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580901">(Jun 11 2020 at 17:50)</a>:</h4>
<p>it's also probably just fine in practice</p>



<a name="200580947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580947">(Jun 11 2020 at 17:50)</a>:</h4>
<p>and it is the programmer's responsibility to ensure that use of function pointers doesn't somehow let a non-longjmpable frame get put on the stack...</p>



<a name="200580948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580948">(Jun 11 2020 at 17:50)</a>:</h4>
<p>i.e., the compiler would basically give you a warning if any function call occurs that has a dtor in scope</p>



<a name="200580950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580950">(Jun 11 2020 at 17:50)</a>:</h4>
<p>that seems ok</p>



<a name="200580971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200580971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200580971">(Jun 11 2020 at 17:50)</a>:</h4>
<p>and it would have to avoid optimizing because it doesn't know if that fn may longjmp</p>



<a name="200581003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581003">(Jun 11 2020 at 17:51)</a>:</h4>
<p>I forget how setjmp works</p>



<a name="200581007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581007">(Jun 11 2020 at 17:51)</a>:</h4>
<p>^ ah, but not being able to give that warning is why the function pointer question is hairy</p>



<a name="200581024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581024">(Jun 11 2020 at 17:51)</a>:</h4>
<p>you can give the warning</p>



<a name="200581029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581029">(Jun 11 2020 at 17:51)</a>:</h4>
<p>it's just a <em>warning</em></p>



<a name="200581058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581058">(Jun 11 2020 at 17:51)</a>:</h4>
<p>or maybe I misunderstood you</p>



<a name="200581082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581082">(Jun 11 2020 at 17:51)</a>:</h4>
<p>there are a few sources of imprecision -- one of them is that you call a fn that will never longjmp</p>



<a name="200581088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581088">(Jun 11 2020 at 17:51)</a>:</h4>
<p>i.e., some helpers or something</p>



<a name="200581161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581161">(Jun 11 2020 at 17:52)</a>:</h4>
<p>that seems ok to me, you get a false warning, but you can allow it</p>



<a name="200581199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581199">(Jun 11 2020 at 17:52)</a>:</h4>
<p>but I still have a bit of trouble understanding how the setjmp part is meant to work -- although in most use cases, the setjmp is in C code anyway</p>



<a name="200581288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581288">(Jun 11 2020 at 17:53)</a>:</h4>
<p>it seems like this frame is a bit special, it's the only one that can call a <code>#[longjmp]</code> function without itself getting a warning</p>



<a name="200581337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581337">(Jun 11 2020 at 17:53)</a>:</h4>
<p>I think the <code>setjmp</code> itself has to be in C, b/c <code>setjmp</code>/<code>longjmp</code> are part of the C std lib</p>



<a name="200581348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581348">(Jun 11 2020 at 17:53)</a>:</h4>
<p>and they are platform-defined</p>



<a name="200581350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581350">(Jun 11 2020 at 17:53)</a>:</h4>
<p>that is, sorry, I left that implicit, but it's presumably also a lint to call a <code>#[longjmp]</code> fn unless your fn is <code>#[longjmp]</code> -- this one is also not a guarantee, because of calls by pointer, which is your point I suppose?</p>



<a name="200581385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581385">(Jun 11 2020 at 17:53)</a>:</h4>
<p>ok, that's a convenient answer :)</p>



<a name="200581499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581499">(Jun 11 2020 at 17:54)</a>:</h4>
<p>Which warning were you describing above? Calling a non-<code>#[longjmp]</code> function from a <code>#[longjmp]</code>?</p>



<a name="200581512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581512">(Jun 11 2020 at 17:54)</a>:</h4>
<p>I think that's actually always okay!</p>



<a name="200581518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581518">(Jun 11 2020 at 17:54)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/200581288">said</a>:</p>
<blockquote>
<p>it seems like this frame is a bit special, it's the only one that can call a <code>#[longjmp]</code> function without itself getting a warning</p>
</blockquote>
<p>wait -- so -- this doesn't work great for pthread-exit, unless we do the thing I mentioned of having two <code>read</code> calls (one that is compatible with pthread-exit)</p>



<a name="200581526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581526">(Jun 11 2020 at 17:54)</a>:</h4>
<p>It's the reverse that's problematic</p>



<a name="200581545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581545">(Jun 11 2020 at 17:54)</a>:</h4>
<p>I think there are two warnings</p>



<a name="200581591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581591">(Jun 11 2020 at 17:55)</a>:</h4>
<ul>
<li>in a <code>#[longjmp]</code> function, making a fn call with a (potential) pending destructor</li>
<li>in a non-<code>#[longjmp]</code> function, calling a <code>#[longjmp]</code> function</li>
</ul>



<a name="200581601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581601">(Jun 11 2020 at 17:55)</a>:</h4>
<p>neither is precise, the best we can do are lints</p>



<a name="200581615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581615">(Jun 11 2020 at 17:55)</a>:</h4>
<p>but I suspect in practice we catch everything</p>



<a name="200581734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581734">(Jun 11 2020 at 17:56)</a>:</h4>
<p>btw let's call the annotation <code>#[POF]</code> for now since we've finally got some terminology for this!</p>



<a name="200581775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581775">(Jun 11 2020 at 17:56)</a>:</h4>
<p>I thought about that. I don't love it because I can't see a reason that invoking a POF fn should warn</p>



<a name="200581793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581793">(Jun 11 2020 at 17:56)</a>:</h4>
<p>i.e., that covers the first half..</p>



<a name="200581796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581796">(Jun 11 2020 at 17:56)</a>:</h4>
<p>The second warning would of course not be possible in the general function-pointer case</p>



<a name="200581819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581819">(Jun 11 2020 at 17:56)</a>:</h4>
<p>right</p>



<a name="200581825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581825">(Jun 11 2020 at 17:56)</a>:</h4>
<p>that's why I said it's imprecise</p>



<a name="200581843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581843">(Jun 11 2020 at 17:57)</a>:</h4>
<p>the first has false warnings, the second has missed warnings</p>



<a name="200581988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200581988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200581988">(Jun 11 2020 at 17:58)</a>:</h4>
<p>for the first, it would warn on calls to function pointers and to other <code>#[longjmp]</code> functions, but not to normal functions, correct?</p>



<a name="200582151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582151">(Jun 11 2020 at 17:59)</a>:</h4>
<p>I suppose</p>



<a name="200582175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582175">(Jun 11 2020 at 17:59)</a>:</h4>
<p>Yeah, I guess that's true</p>



<a name="200582198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582198">(Jun 11 2020 at 17:59)</a>:</h4>
<p>I was thinking it should warn on anything but I guess that's over-approximated</p>



<a name="200582403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582403">(Jun 11 2020 at 18:00)</a>:</h4>
<p>And since they're only warnings, they can be made more precise in the future once we have the ability to add annotations to function pointers</p>



<a name="200582520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582520">(Jun 11 2020 at 18:01)</a>:</h4>
<p>if/when</p>



<a name="200582525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582525">(Jun 11 2020 at 18:01)</a>:</h4>
<p>yeah, seems reasonable</p>



<a name="200582543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582543">(Jun 11 2020 at 18:01)</a>:</h4>
<p>I geuss we could try to just add this into the RFC</p>



<a name="200582596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582596">(Jun 11 2020 at 18:02)</a>:</h4>
<p>but it also feels like a "separate thing" in its own way</p>



<a name="200582831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582831">(Jun 11 2020 at 18:04)</a>:</h4>
<p>(but this feels pretty good to me, all things considered)</p>



<a name="200582848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582848">(Jun 11 2020 at 18:04)</a>:</h4>
<p>I think we can revise the RFC to say that longjmp over POFs is TBD</p>



<a name="200582873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582873">(Jun 11 2020 at 18:04)</a>:</h4>
<p>and otherwise definitely UB</p>



<a name="200582882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200582882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200582882">(Jun 11 2020 at 18:04)</a>:</h4>
<p>yeah, this is I think the right thing to do</p>



<a name="200583059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200583059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200583059">(Jun 11 2020 at 18:05)</a>:</h4>
<p>I actually really like the idea (if not the name) of the <code>#[longjmp]</code> annotation. It enables us to give a much more precise answer to the question "when do destructors not execute", I think.</p>



<a name="200583096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200583096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200583096">(Jun 11 2020 at 18:05)</a>:</h4>
<p>Yes. And I think it'd be really great to be able to assist people in constructing POF functions</p>



<a name="200583480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200583480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200583480">(Jun 11 2020 at 18:08)</a>:</h4>
<p>Agreed</p>



<a name="200583582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200583582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200583582">(Jun 11 2020 at 18:09)</a>:</h4>
<p>So, we now have more action items!</p>



<a name="200583689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200583689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200583689">(Jun 11 2020 at 18:10)</a>:</h4>
<p>returning to the other one, the quesiton is, should we try to start a thread on the LLVM internals?</p>



<a name="200583774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200583774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200583774">(Jun 11 2020 at 18:10)</a>:</h4>
<p>(I don't know that it's a <em>blocker</em>, that could happen concurrently with the RFC)</p>



<a name="200583829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200583829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200583829">(Jun 11 2020 at 18:10)</a>:</h4>
<ul>
<li>Possibly-final RFC draft revision: specify that longjmp/pthread_exit over POFs is not-yet-defined (UB-but-TBD)</li>
<li>Start drafting new RFC: function annotation for "cancelable" functions</li>
</ul>



<a name="200584437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200584437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200584437">(Jun 11 2020 at 18:15)</a>:</h4>
<p>So, that resolves the third bullet-item from our original list, about optimizations that could be broken by <code>longjmp</code></p>



<a name="200584454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200584454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200584454">(Jun 11 2020 at 18:15)</a>:</h4>
<p>Want to discuss this one?</p>
<ul>
<li>Can/should we distinguish the idea of "not executing a dtor", which we've been calling UB, but perhaps we should use another term -- i.e., you're not allocated to longjmp over frames you don't control because that's a limit we put on what Rust code can do, but it's not in and of itself UB (it could cause UB though, and if it did, it would be your fault)</li>
</ul>



<a name="200584725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200584725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200584725">(Jun 11 2020 at 18:17)</a>:</h4>
<p>this is somewhat entangled with the other point</p>



<a name="200584783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200584783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200584783">(Jun 11 2020 at 18:18)</a>:</h4>
<p>that is, the only way I know of to "not execute a dtor" is basically to longjmp</p>



<a name="200584808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200584808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200584808">(Jun 11 2020 at 18:18)</a>:</h4>
<p>or otherwise deallocate frames</p>



<a name="200585340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585340">(Jun 11 2020 at 18:22)</a>:</h4>
<p>I wrote up the idea of a longjmp fn here btw: <a href="https://github.com/rust-lang/project-ffi-unwind/issues/30">https://github.com/rust-lang/project-ffi-unwind/issues/30</a></p>



<a name="200585355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585355">(Jun 11 2020 at 18:22)</a>:</h4>
<p>Right, so presumably, along with introducing <code>#[longjmp]</code>, we'd formally specify that it is UB to skip destructors in non-<code>#[longjmp]</code> frames</p>



<a name="200585413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585413">(Jun 11 2020 at 18:22)</a>:</h4>
<p>(btw my current idea for the actual name of the annotation is <code>#[cancelable]</code>)</p>



<a name="200585435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585435">(Jun 11 2020 at 18:23)</a>:</h4>
<p>I think btw I would be happy to change the "it is UB to deallocate a frame without running a dtor" to a more naunced explanation that says how <em>deallocating frames without running destructors can cause UB and is not something you can do unless you control all the frames</em></p>



<a name="200585477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585477">(Jun 11 2020 at 18:23)</a>:</h4>
<p>But I still think we need a pithy term for that kind of behavior</p>



<a name="200585487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585487">(Jun 11 2020 at 18:23)</a>:</h4>
<p>which is basically UB</p>



<a name="200585521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585521">(Jun 11 2020 at 18:23)</a>:</h4>
<p>I guess it is reminiscent of the terms that Ralf introduced of "language invariant" vs "library invariant"</p>



<a name="200585537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585537">(Jun 11 2020 at 18:23)</a>:</h4>
<p>fair enough, but I think we can also flatly prohibit skipping destructors in frames that aren't annotated "cancelable"</p>



<a name="200585548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585548">(Jun 11 2020 at 18:23)</a>:</h4>
<p>er, validity</p>



<a name="200585588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585588">(Jun 11 2020 at 18:24)</a>:</h4>
<p>yes, I think we can do that as well</p>



<a name="200585652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200585652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200585652">(Jun 11 2020 at 18:24)</a>:</h4>
<p>(which is what I meant by they are entangled; presumably if we do that, it's enough)</p>



<a name="200587410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200587410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200587410">(Jun 11 2020 at 18:37)</a>:</h4>
<p>Okay, it sounds like we've got a plan. Anything else?</p>



<a name="200590276"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/200590276" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#200590276">(Jun 11 2020 at 19:01)</a>:</h4>
<p>(Nope) :)</p>



<a name="204116295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204116295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204116295">(Jul 16 2020 at 17:32)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Biweekly check in!</p>



<a name="204117032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204117032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204117032">(Jul 16 2020 at 17:38)</a>:</h4>
<p>We have one open suggestion on the RFC, which is to use <code>"C-unwind"</code> instead of <code>"C unwind"</code>. <a href="https://github.com/rust-lang/rfcs/pull/2945#discussion_r454644725">https://github.com/rust-lang/rfcs/pull/2945#discussion_r454644725</a></p>



<a name="204117334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204117334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204117334">(Jul 16 2020 at 17:41)</a>:</h4>
<p>We also have three outstanding lang team members who haven't approved the RFC yet; I'm not sure if they should be pinged at this point.</p>



<a name="204125430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204125430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204125430">(Jul 16 2020 at 18:44)</a>:</h4>
<p>I don't really have an opinion about "C-unwind" vs "C unwind" vs whatever else</p>



<a name="204125540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204125540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204125540">(Jul 16 2020 at 18:45)</a>:</h4>
<p>I think the argument that people <em>may think</em> they can reorder the words in the string is...true but seems like a stretch</p>



<a name="204125634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204125634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204125634">(Jul 16 2020 at 18:46)</a>:</h4>
<p>early on there was a proposal <code>C+unwind</code> or something but I guess that was scrapped because it resembled C++?</p>



<a name="204125663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204125663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204125663">(Jul 16 2020 at 18:46)</a>:</h4>
<p>also, sorry I missed today's meeting at the proper time, got double schedule :/</p>



<a name="204136441"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204136441" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204136441">(Jul 16 2020 at 20:11)</a>:</h4>
<p>No problem. Yes, I think C++ was the main reason we opted for a space instead of punctuation.</p>



<a name="204147385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204147385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204147385">(Jul 16 2020 at 21:45)</a>:</h4>
<p>catching up late, apologies; been in meetings for four hours <span aria-label="disappointed relieved" class="emoji emoji-1f625" role="img" title="disappointed relieved">:disappointed_relieved:</span> my main check-in item is to point out this new topic about Fastly providing implementation effort: <a href="#narrow/stream/210922-project-ffi-unwind/topic/coordinating.20on.20implementation">https://rust-lang.zulipchat.com/#narrow/stream/210922-project-ffi-unwind/topic/coordinating.20on.20implementation</a></p>



<a name="204147521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/204147521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#204147521">(Jul 16 2020 at 21:46)</a>:</h4>
<p>I am still neck-deep in other parts of the product, but fortunately the team has grown substantially since we began this unwinding effort, so we have the bandwidth to help out</p>



<a name="205508189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/205508189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#205508189">(Jul 30 2020 at 17:36)</a>:</h4>
<p>hey folks, I don't have much to add this meeting except a hearty congratulations for the RFC soon being merged <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span></p>



<a name="206845634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/206845634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#206845634">(Aug 13 2020 at 17:36)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> </p>
<p>Weekly meeting! (A few minutes late; just got the calendar notification for some reason.)</p>



<a name="206845816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/206845816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#206845816">(Aug 13 2020 at 17:38)</a>:</h4>
<p>I'll keep it brief again. I know there's a lot going on, and I don't know how much that will impact us. Also, Niko requested that we take something of a break after the RFC merged, so I don't want to do any actual spec-work today.</p>



<a name="206845824"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/206845824" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#206845824">(Aug 13 2020 at 17:38)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> I don't have much to report this time around. I believe <span class="user-mention" data-user-id="327458">@katelyn martin</span> has been heads down in some internal stuff as well. I guess my main contribution is <span aria-label="heart" class="emoji emoji-2764" role="img" title="heart">:heart:</span> to Niko and the other folks impacted by this week's news</p>



<a name="206845920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/206845920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#206845920">(Aug 13 2020 at 17:39)</a>:</h4>
<p>Thanks for calling that out. <span aria-label="blue heart" class="emoji emoji-1f499" role="img" title="blue heart">:blue_heart:</span> from me as well.</p>



<a name="206846491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/206846491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#206846491">(Aug 13 2020 at 17:44)</a>:</h4>
<p>Looks like there are two <span class="user-mention" data-user-id="327458">@katelyn martin</span> Zulip members? I'm adding  <span class="user-mention" data-user-id="257364">@Katelyn Martin</span> </p>
<p>I will add both to the FFI group for now, since I am assuming they both belong to the same real-life person.</p>



<a name="206846639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/206846639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#206846639">(Aug 13 2020 at 17:45)</a>:</h4>
<p>(Katelyn, for context: we have a biweekly meeting here in Zulip; I believe Niko can add you to the calendar event if you wish)</p>



<a name="206846896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/206846896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#206846896">(Aug 13 2020 at 17:47)</a>:</h4>
<p>I think that's all I wanted to do/say for today, other than to reiterate that our next "specification" effort should be around longjmp/thread-canceling. I think this can happen in parallel with Katelyn's implementation work.</p>



<a name="207174451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/207174451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#207174451">(Aug 17 2020 at 17:45)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="207174503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/207174503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#207174503">(Aug 17 2020 at 17:45)</a>:</h4>
<p>as y'all probably surmised I was a bit "under the weather" last week</p>



<a name="207174520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/207174520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#207174520">(Aug 17 2020 at 17:45)</a>:</h4>
<p>this coming Thursday is RustConf</p>



<a name="207276572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/207276572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#207276572">(Aug 18 2020 at 15:47)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> Hello! I've been a bit occupied with things, sorry about that. I would love to be added to the calendar invite! I'll also echo the <span aria-label="heart" class="emoji emoji-2764" role="img" title="heart">:heart:</span> regarding recent news.</p>



<a name="207460007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/207460007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#207460007">(Aug 19 2020 at 20:50)</a>:</h4>
<p><span class="user-mention" data-user-id="327458">@katelyn martin</span> I can add you to the meeting invite</p>



<a name="207460097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/207460097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#207460097">(Aug 19 2020 at 20:50)</a>:</h4>
<p>but if you want to arrange a separate time to dig in a bit, feel free to privmsg me</p>



<a name="207460477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/207460477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#207460477">(Aug 19 2020 at 20:54)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Invitation received, thank you! I also appreciate the invitation to dig in further as well</p>



<a name="208249665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208249665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208249665">(Aug 27 2020 at 17:31)</a>:</h4>
<p>Hey y'all, we have a meeting now =) I've been quite distracted, but is anyone around?</p>



<a name="208249684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208249684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208249684">(Aug 27 2020 at 17:31)</a>:</h4>
<p>In particular, <span class="user-mention" data-user-id="327458">@katelyn martin</span>, if you wanted to talk about impl stuff</p>



<a name="208249694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208249694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208249694">(Aug 27 2020 at 17:32)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> Hi everybody. I started working on implementing the RFC this week.</p>



<a name="208249767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208249767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208249767">(Aug 27 2020 at 17:32)</a>:</h4>
<p>Great news</p>



<a name="208249830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208249830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208249830">(Aug 27 2020 at 17:32)</a>:</h4>
<p>Did you wind up with any questions?</p>



<a name="208249849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208249849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208249849">(Aug 27 2020 at 17:32)</a>:</h4>
<p>I am 100% behind on github notifications, so if you left comments there I for sure didn't see them</p>



<a name="208249917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208249917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208249917">(Aug 27 2020 at 17:33)</a>:</h4>
<p>Hello! <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> Oops, just posted over in the <code>weekly meeting</code> topic.</p>
<p>I started working on the RFC this week. At this point I've been looking around through the code you linked in the tracking issue. Thank you once again, these were all excellent leads!</p>



<a name="208249969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208249969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208249969">(Aug 27 2020 at 17:34)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Bi-weekly check-in! Sorry I'm a few minutes late.</p>



<a name="208250018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250018">(Aug 27 2020 at 17:34)</a>:</h4>
<p>lol, no worries, I actually think this group is just using the "weekly meeting" topic</p>



<a name="208250022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250022">(Aug 27 2020 at 17:34)</a>:</h4>
<p>vs separate topics per meeting</p>



<a name="208250033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250033">(Aug 27 2020 at 17:34)</a>:</h4>
<p>so it's really my bad</p>



<a name="208250051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250051">(Aug 27 2020 at 17:34)</a>:</h4>
<p>I'll rename :)</p>



<a name="208250071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250071">(Aug 27 2020 at 17:34)</a>:</h4>
<p>Ah! I'll redirect over there <span aria-label="fish" class="emoji emoji-1f41f" role="img" title="fish">:fish:</span> :)</p>



<a name="208250283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250283">(Aug 27 2020 at 17:36)</a>:</h4>
<p>Anyway :) as I was saying, my main thought at the moment was whether I could help in any way with impl effort, but <span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> not sure if you had other things you wanted to talk about?</p>



<a name="208250397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250397">(Aug 27 2020 at 17:37)</a>:</h4>
<p>I think the implementation is the most important thing right now, but I do want to get a read on who's feeling ready to start talking more about stack-cancelation.</p>



<a name="208250422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250422">(Aug 27 2020 at 17:37)</a>:</h4>
<p>I.e. <code>longjmp</code>/<code>pthread_exit</code></p>



<a name="208250548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250548">(Aug 27 2020 at 17:38)</a>:</h4>
<p>I don't think I'm far enough along for this question to be urgent yet, but you mentioned guiding the <code>nounwind</code> attribute on callsites (see: <a href="https://github.com/rust-lang/rust/blob/cfdf9d335501cc0a53ae69c940095cca7d4be0f8/src/librustc_codegen_llvm/abi.rs#L399-L402">https://github.com/rust-lang/rust/blob/cfdf9d335501cc0a53ae69c940095cca7d4be0f8/src/librustc_codegen_llvm/abi.rs#L399-L402</a>)</p>
<p>I'm _definitely_ still getting a lay of the land (and trying to get my tools to agree with x.py <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span>) but that's the part where I feel the most unknown.</p>



<a name="208250598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250598">(Aug 27 2020 at 17:38)</a>:</h4>
<p>Talking about impl stuff, did we ever decide what to do about <a href="https://github.com/rust-lang/rust/issues/70212">#70212</a>?</p>



<a name="208250821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250821">(Aug 27 2020 at 17:40)</a>:</h4>
<p><span class="user-mention silent" data-user-id="327458">katelyn martin</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/208250548">said</a>:</p>
<blockquote>
<p>I don't think I'm far enough along for this question to be urgent yet, but you mentioned guiding the <code>nounwind</code> attribute on callsites (see: <a href="https://github.com/rust-lang/rust/blob/cfdf9d335501cc0a53ae69c940095cca7d4be0f8/src/librustc_codegen_llvm/abi.rs#L399-L402">https://github.com/rust-lang/rust/blob/cfdf9d335501cc0a53ae69c940095cca7d4be0f8/src/librustc_codegen_llvm/abi.rs#L399-L402</a>)</p>
<p>I'm _definitely_ still getting a lay of the land (and trying to get my tools to agree with x.py <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span>) but that's the part where I feel the most unknown.</p>
</blockquote>
<p>ok -- so the <code>nounwind</code> attribute is used by LLVM to indicate functions that cannot unwind. We would expect to apply it to Rust functions with the "C" ABI (e.g., </p>
<div class="codehilite"><pre><span></span><code><span class="k">extern</span><span class="w"> </span><span class="s">&quot;C&quot;</span><span class="w"> </span><span class="k">fn</span> <span class="nf">foo</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
</code></pre></div>


<p>and probably also external functions with C ABI.</p>



<a name="208250855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208250855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208250855">(Aug 27 2020 at 17:40)</a>:</h4>
<p><span class="user-mention" data-user-id="143274">@Amanieu</span> I thought we decided to abort for now</p>



<a name="208251093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251093">(Aug 27 2020 at 17:42)</a>:</h4>
<p>The main thing the RFC guarantees is that the implementation must <em>not</em> place <code>nounwind</code> on a <code>"C-unwind"</code> boundary unless there's some way to guarantee that the function actually won't unwind. I think that <code>panic=abort</code> might be sufficient for that guarantee on function definitions written in Rust, but that's not the case for <code>extern</code> declarations.</p>



<a name="208251245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251245">(Aug 27 2020 at 17:44)</a>:</h4>
<p>I don't remember, <span class="user-mention" data-user-id="327458">@katelyn martin</span>, did we ever write down like "what attributes we expect on which functions and when"</p>



<a name="208251258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251258">(Aug 27 2020 at 17:44)</a>:</h4>
<p>I was thinking that this would be a good exercise at some point</p>



<a name="208251355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251355">(Aug 27 2020 at 17:45)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Do you mean this table in the RFC by any chance? <a href="https://github.com/rust-lang/rfcs/blob/master/text/2945-c-unwind-abi.md#abi-boundaries-and-unforced-unwinding">https://github.com/rust-lang/rfcs/blob/master/text/2945-c-unwind-abi.md#abi-boundaries-and-unforced-unwinding</a></p>



<a name="208251432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251432">(Aug 27 2020 at 17:45)</a>:</h4>
<p>well, that is pretty close to what I meant</p>



<a name="208251446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251446">(Aug 27 2020 at 17:45)</a>:</h4>
<p>and maybe it just suffices :)</p>



<a name="208251516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251516">(Aug 27 2020 at 17:46)</a>:</h4>
<p>I was thinking that from an impl POV it'd be good to have test cases for each case basically and a kind of checklist</p>



<a name="208251552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251552">(Aug 27 2020 at 17:46)</a>:</h4>
<p>(and maybe actually creating such tests is a good first step towards implementing)</p>



<a name="208251690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251690">(Aug 27 2020 at 17:47)</a>:</h4>
<p>I agree. The table implies restrictions on when <code>nounwind</code> is appropriate, but I don't think it's quite comprehensive from an implementation standpoint.</p>



<a name="208251755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251755">(Aug 27 2020 at 17:48)</a>:</h4>
<p>I think the main difference between that table and what I was imagining is that it describes the <em>behavior</em> we want, and I was thinking more from an impl focused pov -- i.e., what LLVM attributes should be present, etc</p>



<a name="208251796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251796">(Aug 27 2020 at 17:48)</a>:</h4>
<p>let me just go review what we wrote in the issue</p>



<a name="208251813"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251813" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251813">(Aug 27 2020 at 17:48)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/74990">https://github.com/rust-lang/rust/issues/74990</a> here's the tracking issue :)</p>



<a name="208251830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251830">(Aug 27 2020 at 17:48)</a>:</h4>
<p>Additionally, tests would be valuable so that in the future, if there are improvements to the optimization logic for guaranteeing that an unwind is actually impossible (which makes <code>nounwind</code> appropriate even for <code>"C-unwind"</code> functions), the exact behavior of those optimizations can be added to the test suite.</p>



<a name="208251871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251871">(Aug 27 2020 at 17:49)</a>:</h4>
<p>I guess that the "implementation notes" was my attempt at this</p>



<a name="208251959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208251959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208251959">(Aug 27 2020 at 17:49)</a>:</h4>
<p>there is <a href="https://rustc-dev-guide.rust-lang.org/tests/intro.html">some documentation on writing tests</a> in the rustc-dev-guide</p>



<a name="208252035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252035">(Aug 27 2020 at 17:50)</a>:</h4>
<p>the idea would be to make <code>ui</code> tests here</p>



<a name="208252055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252055">(Aug 27 2020 at 17:50)</a>:</h4>
<p>and to use some of the <code>//</code> comments to force command-line options like <code>-Cpanic=abort</code> etc</p>



<a name="208252107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252107">(Aug 27 2020 at 17:51)</a>:</h4>
<p>(see the <a href="https://rustc-dev-guide.rust-lang.org/tests/adding.html#header-commands-configuring-rustc">header comments</a> section)</p>



<a name="208252202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252202">(Aug 27 2020 at 17:51)</a>:</h4>
<p>handy, thank you for that!</p>



<a name="208252570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252570">(Aug 27 2020 at 17:54)</a>:</h4>
<p>OK, well, if you have any other questions as you go definitely just leave them</p>



<a name="208252588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252588">(Aug 27 2020 at 17:54)</a>:</h4>
<p>and feel free to ping if I don't answer ;)</p>



<a name="208252659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252659">(Aug 27 2020 at 17:55)</a>:</h4>
<p>definitely! thank you for the guidance, it's much appreciated. <span aria-label="heart" class="emoji emoji-2764" role="img" title="heart">:heart:</span></p>



<a name="208252828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252828">(Aug 27 2020 at 17:56)</a>:</h4>
<p>Re: <code>nounwind</code> on callsites: it looks like we don't yet apply <code>nounwind</code> to any callsites; if this is the case, then any change to callsites is purely an optimization.</p>



<a name="208252864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252864">(Aug 27 2020 at 17:57)</a>:</h4>
<p>So I think it's not necessary for the initial implementation.</p>



<a name="208252877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/208252877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#208252877">(Aug 27 2020 at 17:57)</a>:</h4>
<p>yeah that's true</p>



<a name="209680963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/209680963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#209680963">(Sep 10 2020 at 17:30)</a>:</h4>
<p>Hello again everyone!</p>
<p>I have been making some more progress on implementing RFC 2945. I have opened a<br>
draft PR containing my work so far here: <a href="https://github.com/rust-lang/rust/pull/76570">https://github.com/rust-lang/rust/pull/76570</a></p>
<p>At this point, I have started working on the changes to codegen. I don't have<br>
these changes pushed to that branch quite yet, since that work is still being<br>
drafted on my end. I'm currently working on adding more tests to the<br>
<code>src/tests/codegen</code> suite. To do that, I've been referring to the LLVM<br>
documentation on <code>FileCheck</code> here: <a href="https://llvm.org/docs/CommandGuide/FileCheck.html">https://llvm.org/docs/CommandGuide/FileCheck.html</a></p>
<p>I've been a bit caught up with some work tasks, so between that and the recent<br>
U.S. holiday weekend, I don't have too much else to include in my update today.</p>
<p>I'm making progress though, and don't have further questions at this<br>
time. Thanks for the wonderful mentorship and support so far, I appreciate you<br>
all!</p>



<a name="209681781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/209681781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#209681781">(Sep 10 2020 at 17:36)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Thanks Katelyn!</p>
<p>Does anyone else have anything specific to bring up?</p>



<a name="209682395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/209682395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#209682395">(Sep 10 2020 at 17:40)</a>:</h4>
<p>I just fixed an FFI unwinding UB bug in Lucet <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span> it was my own dang fault though, rather than something that needs the new ABI <a href="https://github.com/bytecodealliance/lucet/pull/584">https://github.com/bytecodealliance/lucet/pull/584</a></p>



<a name="209685072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/209685072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#209685072">(Sep 10 2020 at 18:00)</a>:</h4>
<p>I'd like to have a rough plan for moving forward on the POF/cancellation discussion, but I don't really have a sense of how to do that. I think we need to know:</p>
<ul>
<li>Can we kick the group back into a more "active" mode soon? (It's now been about a month since Niko requested we take a break, but I expect things are still a little chaotic.)</li>
<li>Do we want to send out another call-to-action in the form of a blog post or other announcement to determine if there are more people who would be interested in hashing out the specifics of <code>longjmp</code> and its ilk? I suspect that this may not be precisely the same group of people who were interested in "proper" unwinding.</li>
<li>What is the first step?</li>
</ul>
<p>Over the next two weeks, I think I will start trying to update the project repository to reflect the shift in focus toward POF/cancellation.</p>



<a name="210033318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/210033318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#210033318">(Sep 14 2020 at 16:58)</a>:</h4>
<p>Sorry for missing meeting y'all, I was taking a long weekend and forgot to let y'all know</p>



<a name="210033383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/210033383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#210033383">(Sep 14 2020 at 16:58)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> I'm still fairly busy but not opposed to starting to open that discussion</p>



<a name="210033455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/210033455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#210033455">(Sep 14 2020 at 16:59)</a>:</h4>
<p>I think writing a blog post as a way to frame the discussion is a good idea regardless, as editing it may help us to achieve more internal alignment amongst ourselves (and to communicate with lang team)</p>



<a name="211164052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211164052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211164052">(Sep 24 2020 at 17:31)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> Hey folks! I don't have any updates for this weekly meeting. My apologies, work &amp; the general state of the planet have been occupying more than their fair share of brain cycles. <span aria-label="blue heart" class="emoji emoji-1f499" role="img" title="blue heart">:blue_heart:</span> <span aria-label="pensive" class="emoji emoji-1f614" role="img" title="pensive">:pensive:</span> I'm hoping to set some time aside next week to make further progress, now that I have set up some proper codegen tests for the <code>c_unwind</code> feature gate.</p>
<p>I'll cede the floor for discussion about the other plans, regarding POF/cancellation &amp; a blog post, that were described above in the previous meeting.</p>



<a name="211164270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211164270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211164270">(Sep 24 2020 at 17:32)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="327458">@katelyn martin</span></p>



<a name="211164274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211164274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211164274">(Sep 24 2020 at 17:32)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Hi all! Apologies, I haven't done anything for the group since the last meeting. I do plan to draft a blog post before our next meeting, though.</p>



<a name="211164296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211164296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211164296">(Sep 24 2020 at 17:33)</a>:</h4>
<p>I was just thinking I could take a look at your PR</p>



<a name="211164329"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211164329" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211164329">(Sep 24 2020 at 17:33)</a>:</h4>
<p>I've not done anything related to this :)</p>



<a name="211164362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211164362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211164362">(Sep 24 2020 at 17:33)</a>:</h4>
<p><span class="user-mention" data-user-id="327458">@katelyn martin</span> No worries re: minimal update. You are clearly not alone!</p>



<a name="211164738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211164738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211164738">(Sep 24 2020 at 17:36)</a>:</h4>
<p>It's open as a draft here: <a href="https://github.com/rust-lang/rust/pull/76570">https://github.com/rust-lang/rust/pull/76570</a></p>
<p>Right now I've just set up the scaffolding for it, following the instructions from the rustc developer guide. Feature flag, and UI tests to make sure that this is properly gated. The <code>should_abort_on_panic</code> changes and so forth haven't been worked out yet.</p>
<p>The main changes of note there are the adjustments to the <code>Abi</code> enum. I elected to use a boolean payload rather than add more variants, since the RFC allows for more unwinding ABI's to be added in the future.</p>



<a name="211164829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211164829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211164829">(Sep 24 2020 at 17:37)</a>:</h4>
<p>I'll need to rebase it soon, as some conflicts have popped up, but reviews are certainly welcome!</p>



<a name="211166330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211166330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211166330">(Sep 24 2020 at 17:47)</a>:</h4>
<p>I took a brief look at it and, as far as I understood it (I haven't personally done any work in the compiler before), it looked like a good start. I suspect the implementation of the actual change re: the <code>nounwind</code> attribute will go pretty quickly.</p>



<a name="211166449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/211166449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#211166449">(Sep 24 2020 at 17:48)</a>:</h4>
<p>Anyway, I don't have anything else to discuss, and I've been thinking that I should start "officially" calling these meetings to a close so that any further discussion can be considered async. Thanks, you two!</p>



<a name="215754742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/215754742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#215754742">(Nov 05 2020 at 18:30)</a>:</h4>
<p>Howdy! Nothing too much to report. I'm still working to address the PR review that Niko was kind enough to leave. Wonderful points, and I'm excited to keep plugging away at this.</p>



<a name="215755236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/215755236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#215755236">(Nov 05 2020 at 18:34)</a>:</h4>
<p><span class="user-mention" data-user-id="327458">@katelyn martin</span> great!</p>



<a name="215755256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/215755256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#215755256">(Nov 05 2020 at 18:34)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="215755293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/215755293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#215755293">(Nov 05 2020 at 18:34)</a>:</h4>
<p>I outlined the blog post but did not turn that outline into prose yet.</p>



<a name="217311144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/217311144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#217311144">(Nov 19 2020 at 18:30)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Bi-weekly check-in! I finally have a draft to share: <a href="https://github.com/rust-lang/project-ffi-unwind/pull/33/files">https://github.com/rust-lang/project-ffi-unwind/pull/33/files</a></p>



<a name="217311206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/217311206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#217311206">(Nov 19 2020 at 18:31)</a>:</h4>
<p>There are several TODO/TBD items in there</p>



<a name="217311557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/217311557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#217311557">(Nov 19 2020 at 18:34)</a>:</h4>
<p>oh, nice</p>



<a name="217311560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/217311560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#217311560">(Nov 19 2020 at 18:34)</a>:</h4>
<p><span class="user-mention" data-user-id="327458">@katelyn martin</span> one of them is specifically a question for you: there's a link to your in-progress PR, and if you don't mind the publicity, I'd like to name you specifically as the person working on it.</p>



<a name="217311608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/217311608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#217311608">(Nov 19 2020 at 18:34)</a>:</h4>
<p>Absolutely! I don't mind that at all <span aria-label="blush" class="emoji emoji-1f60a" role="img" title="blush">:blush:</span></p>



<a name="217311613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/217311613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#217311613">(Nov 19 2020 at 18:34)</a>:</h4>
<p>/me reads</p>



<a name="217311696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/217311696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#217311696">(Nov 19 2020 at 18:35)</a>:</h4>
<p>seems I opened the branch on the origin repo again... <span aria-label="face palm" class="emoji emoji-1f926" role="img" title="face palm">:face_palm:</span></p>



<a name="217318555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/217318555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#217318555">(Nov 19 2020 at 19:29)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> left some comments!</p>



<a name="217318597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/217318597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#217318597">(Nov 19 2020 at 19:29)</a>:</h4>
<p>Thanks!</p>



<a name="218048357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/218048357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#218048357">(Nov 27 2020 at 00:47)</a>:</h4>
<p>I have revised my draft.</p>



<a name="218735257"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/218735257" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#218735257">(Dec 03 2020 at 18:31)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Bi-weekly check-in! I have updated my draft, and think it might be ready to open as a PR on the Inside Rust blog.</p>



<a name="218735274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/218735274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#218735274">(Dec 03 2020 at 18:31)</a>:</h4>
<p><a href="https://github.com/rust-lang/project-ffi-unwind/pull/33">https://github.com/rust-lang/project-ffi-unwind/pull/33</a></p>



<a name="218737192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/218737192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#218737192">(Dec 03 2020 at 18:47)</a>:</h4>
<p>I'm working on the rest of my PR today! I'm hoping to have it wrapped up by Friday.</p>
<p>Thank you everybody for your patience, and apologies for letting this one drag on longer than I wanted it to. <span aria-label="blue heart" class="emoji emoji-1f499" role="img" title="blue heart">:blue_heart:</span></p>



<a name="219141549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/219141549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#219141549">(Dec 07 2020 at 21:34)</a>:</h4>
<p>/me reads</p>



<a name="219515483"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/219515483" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#219515483">(Dec 10 2020 at 18:40)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> should I merge my PR and open it as a PR on the Inside Rust blog?</p>



<a name="219555475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/219555475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#219555475">(Dec 11 2020 at 01:08)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> I will not be able to make it next Thursday; feel free to sync without me. I will open a PR on the Rust Insiders blog repo whenever Niko thinks it's ready.</p>



<a name="219589339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/219589339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#219589339">(Dec 11 2020 at 10:50)</a>:</h4>
<p>I can't really make it until the end of the year, but I think merging your PR is good</p>



<a name="219589342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/219589342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#219589342">(Dec 11 2020 at 10:50)</a>:</h4>
<p>will do</p>



<a name="219905829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/219905829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#219905829">(Dec 14 2020 at 21:40)</a>:</h4>
<p>In exciting news, I've now marked <a href="https://github.com/rust-lang/rust/pull/76570">https://github.com/rust-lang/rust/pull/76570</a> (Implement RFC 2945: "C-unwind" ABI) as ready for review! The git history is all tidied up, and I've addressed all of the initial feedback that was kindly provided. Thank you everybody for the guidance, and for the opportunity to implement this. <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span> <span aria-label="blush" class="emoji emoji-1f60a" role="img" title="blush">:blush:</span></p>



<a name="219979519"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/219979519" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#219979519">(Dec 15 2020 at 13:39)</a>:</h4>
<p><span class="user-mention" data-user-id="327458">@katelyn martin</span> great!</p>



<a name="220283569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/220283569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#220283569">(Dec 17 2020 at 18:36)</a>:</h4>
<p>Greetings! I don't have any news besides the message above, PR 76570 is ready for review. I'll cede my time to the blog repo, or any other topics people might want to talk about. <span aria-label="smiley cat" class="emoji emoji-1f63a" role="img" title="smiley cat">:smiley_cat:</span></p>



<a name="220285419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/220285419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#220285419">(Dec 17 2020 at 18:50)</a>:</h4>
<p>Ack!</p>



<a name="220285444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/220285444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#220285444">(Dec 17 2020 at 18:51)</a>:</h4>
<p>I'm pretty slow today anyway</p>



<a name="220285457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/220285457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#220285457">(Dec 17 2020 at 18:51)</a>:</h4>
<p>I have to merge and prepare that blog post, though I may not get to that until next week</p>



<a name="220285518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/220285518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#220285518">(Dec 17 2020 at 18:51)</a>:</h4>
<blockquote>
<p>I'm pretty slow today anyway</p>
</blockquote>
<p>Very understandable! The holidays are quickly approaching <span aria-label="snowflake" class="emoji emoji-2744" role="img" title="snowflake">:snowflake:</span></p>



<a name="220289223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/220289223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#220289223">(Dec 17 2020 at 19:21)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> the blog post is already merged to our repo; do you mean merge &amp; prepare it in the Inside Rust repo? I haven't opened a PR for that yet but I will do so now.</p>



<a name="220289813"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/220289813" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#220289813">(Dec 17 2020 at 19:26)</a>:</h4>
<p><a href="https://github.com/rust-lang/blog.rust-lang.org/pull/743">https://github.com/rust-lang/blog.rust-lang.org/pull/743</a></p>



<a name="220290687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/220290687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#220290687">(Dec 17 2020 at 19:32)</a>:</h4>
<p>I put an "XX" in the date because I don't know when this will be published, so the CI check is failing.</p>



<a name="221308917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/221308917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#221308917">(Dec 31 2020 at 18:48)</a>:</h4>
<p>I'm on vacation and completely forgot about the weekly check-in. Happy Gregorian New-Year's Eve!</p>



<a name="222760404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/222760404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#222760404">(Jan 14 2021 at 18:26)</a>:</h4>
<p>Howdy! I don't have any pressing updates. I bumped into a spurious CI problem, but in the meantime another merge conflict has come up. I'll address that, and hopefully CI can do its thing this time around. Pardon the delay <span aria-label="grimacing" class="emoji emoji-1f62c" role="img" title="grimacing">:grimacing:</span></p>



<a name="222761947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/222761947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#222761947">(Jan 14 2021 at 18:36)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> I also don't have any updates. Niko, what is the next step for the blog post PR? <a href="https://github.com/rust-lang/blog.rust-lang.org/pull/743">https://github.com/rust-lang/blog.rust-lang.org/pull/743</a></p>



<a name="222891087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/222891087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#222891087">(Jan 15 2021 at 17:14)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> ugh the status is that I was overloaded and completely forgot. i'm adding to my (newly created) todo list :)</p>



<a name="222891673"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/222891673" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#222891673">(Jan 15 2021 at 17:18)</a>:</h4>
<p>I understand - I saw your tweet declaring notification bankruptcy! Just let me know if/when there's anything I can do to move things forward.</p>



<a name="224340348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/224340348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#224340348">(Jan 28 2021 at 15:18)</a>:</h4>
<p>exciting news; <code>rust-lang/rust#76570</code> (_implementing RFC 2945_) has been approved and is now waiting on Bors! <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span> </p>
<p>I am new to the Rust repo, but as I understand it this means it will be rolled up and merged soon? In any case, thanks to everybody for giving the opportunity to do this. It was a lot of fun <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="224345971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/224345971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#224345971">(Jan 28 2021 at 15:53)</a>:</h4>
<p>Excellent! Thanks for seeing that through!</p>



<a name="224371981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/224371981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#224371981">(Jan 28 2021 at 18:35)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Bi-weekly sync! Sounds like we have two major updates:</p>
<ul>
<li>Katelyn's <code>"C-unwind"</code> PR is very close to merging <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span> </li>
<li>the <code>longjmp</code> blog post has been published</li>
</ul>



<a name="224372929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/224372929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#224372929">(Jan 28 2021 at 18:42)</a>:</h4>
<p>I am not sure what the next steps are on <code>longjmp</code> following the blog post. I was hoping we'd get a bit of a response from the community regarding whether the annotations sound like a reasonable limitation on <code>longjmp</code>, but I doubt we'll get much of that.</p>



<a name="224395241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/224395241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#224395241">(Jan 28 2021 at 21:29)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> sorry -- I am in a bunch of meetings so not very responsive -- I think the next steps are probably to prepare a draft RFC with "bullet points" more than prose</p>



<a name="224395252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/224395252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#224395252">(Jan 28 2021 at 21:29)</a>:</h4>
<p>and maybe we can schedule a lang team design meeting to review it</p>



<a name="224395257"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/224395257" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#224395257">(Jan 28 2021 at 21:29)</a>:</h4>
<p>it seemed to me that we were pretty close to a design</p>



<a name="226040522"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226040522" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226040522">(Feb 11 2021 at 19:00)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Sorry all, stopped watching the clock for a bit and got distracted.</p>
<p>The C-unwind implementation PR has some merge conflicts, but is otherwise looking good (1 approval and CI was green at one point).</p>
<p>I have to admit that the complete lack of response to the blog post makes me wonder how high a priority <code>longjmp</code> actually is.</p>



<a name="226040553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226040553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226040553">(Feb 11 2021 at 19:00)</a>:</h4>
<p>Heh</p>



<a name="226040562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226040562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226040562">(Feb 11 2021 at 19:00)</a>:</h4>
<p>I was thinking to myself</p>



<a name="226040582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226040582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226040582">(Feb 11 2021 at 19:00)</a>:</h4>
<p>how badly do I want to invest time in this discussion :)</p>



<a name="226040755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226040755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226040755">(Feb 11 2021 at 19:01)</a>:</h4>
<p>I'm also wondering how bad it would be if we just specified "<code>longjmp</code> is guaranteed to work over POFs" and left it at that. This seems like the "obvious" way it should work, and effectively how it works today.</p>



<a name="226041071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226041071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226041071">(Feb 11 2021 at 19:03)</a>:</h4>
<p>The benefits of adding a new annotation to the language seem fairly niche: the optimzation we'd previously talked about that could be enabled seems...obscure...and I have no sense of how much (if at all) it would actually improve code quality in any specific case.</p>



<a name="226041337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226041337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226041337">(Feb 11 2021 at 19:05)</a>:</h4>
<p>Compiler warnings are always nice, but on the other hand, having explicit support for "cancelable" frames seems like taking an unfortunate ecosystem wart and making it seem more like a first-class language feature. I really don't want to inadvertently cause people to use <code>longjmp</code> _more_ because there exists an annotation for it.</p>



<a name="226042550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226042550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226042550">(Feb 11 2021 at 19:12)</a>:</h4>
<p>E.g. I can imagine someone recommending <code>longjmp</code> instead of <code>panic</code> for performance in some specific use-case and citing the existence of a "cancelable" annotation as evidence that this is a good practice.</p>



<a name="226042564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226042564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226042564">(Feb 11 2021 at 19:12)</a>:</h4>
<p>And I don't want that!</p>



<a name="226042732"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226042732" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226042732">(Feb 11 2021 at 19:14)</a>:</h4>
<p>Maybe the annotation should be</p>
<div class="codehilite"><pre><span></span><code>#[watch-out-some-legacy-C-constructs-are-leaking]
</code></pre></div>



<a name="226045878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226045878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226045878">(Feb 11 2021 at 19:34)</a>:</h4>
<p>I'm tending towards just allowing <code>longjmp</code>.</p>



<a name="226046199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226046199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226046199">(Feb 11 2021 at 19:36)</a>:</h4>
<p>It seems to me that any optimizations that <code>#[pof-longjmp]</code> might enable can already be done using escape analysis.</p>



<a name="226047575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226047575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226047575">(Feb 11 2021 at 19:47)</a>:</h4>
<p>The concern, really, is that the compiler wouldn't know about <code>longjmp</code>, isn't it?</p>



<a name="226047606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226047606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226047606">(Feb 11 2021 at 19:47)</a>:</h4>
<p>I suppose that if cross-language LTO is used, it would be able to see <code>longjmp</code>s and <code>cancel</code>s...</p>



<a name="226051218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226051218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226051218">(Feb 11 2021 at 20:15)</a>:</h4>
<p>The compiler should assume a longjmp may happen and optimize accordingly.</p>



<a name="226051250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226051250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226051250">(Feb 11 2021 at 20:15)</a>:</h4>
<p>LLVM already assumes this for Clang.</p>



<a name="226051349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226051349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226051349">(Feb 11 2021 at 20:16)</a>:</h4>
<p>The question is, what <em>specific</em> optimization would be enabled by assuming <code>longjmp</code> doesn't happen?</p>



<a name="226051674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226051674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226051674">(Feb 11 2021 at 20:18)</a>:</h4>
<p>With stacked borrows it may be possible to delay updating the value pointed to by references or speculatively update them across function calls. <code>longjmp</code> would make this impossible.</p>



<a name="226051690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226051690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226051690">(Feb 11 2021 at 20:18)</a>:</h4>
<p>AFAIK the only thing that it allows is moving things from before the call to after it. This is only possible if the things that are moved are not externally observable (i.e. escape analysis). However if these things are not externally observable then it doesn't matter if they don't happen when longjmp is called.</p>



<a name="226051808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226051808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226051808">(Feb 11 2021 at 20:19)</a>:</h4>
<p>By "externally" I mean to the caller of the current function.</p>



<a name="226052162"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/226052162" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#226052162">(Feb 11 2021 at 20:22)</a>:</h4>
<p>Allowing all calls to <code>longjmp</code> would make the code movement of section 4.2 of <a href="https://www.ralfj.de/blog/2018/08/07/stacked-borrows.html">https://www.ralfj.de/blog/2018/08/07/stacked-borrows.html</a> illegal.</p>



<a name="227516357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227516357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227516357">(Feb 23 2021 at 22:31)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> I won't be available during our typical sync-up time this Thursday; would 11am-11:30 work?</p>



<a name="227581280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227581280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227581280">(Feb 24 2021 at 11:01)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120076">BatmanAoD (Kyle Strand)</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/226041337">said</a>:</p>
<blockquote>
<p>Compiler warnings are always nice, but on the other hand, having explicit support for "cancelable" frames seems like taking an unfortunate ecosystem wart and making it seem more like a first-class language feature. I really don't want to inadvertently cause people to use <code>longjmp</code> _more_ because there exists an annotation for it.</p>
</blockquote>
<p>I disagree mildly with this-- I think this is a first-class interop feature, not a wart.</p>



<a name="227581346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227581346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227581346">(Feb 24 2021 at 11:02)</a>:</h4>
<p>However, I think it would be ok for it to be enabled via something like an allow-by-default lint</p>



<a name="227581398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227581398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227581398">(Feb 24 2021 at 11:02)</a>:</h4>
<p><span class="user-mention silent" data-user-id="133247">bjorn3</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/226052162">said</a>:</p>
<blockquote>
<p>Allowing all calls to <code>longjmp</code> would make the code movement of section 4.2 of <a href="https://www.ralfj.de/blog/2018/08/07/stacked-borrows.html">https://www.ralfj.de/blog/2018/08/07/stacked-borrows.html</a> illegal.</p>
</blockquote>
<p>this</p>



<a name="227581413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227581413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227581413">(Feb 24 2021 at 11:02)</a>:</h4>
<p>let's fork out this escape analysis discussion</p>



<a name="227581522"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227581522" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227581522">(Feb 24 2021 at 11:03)</a>:</h4>
<p>I guess we already have <a class="stream-topic" data-stream-id="210922" href="/#narrow/stream/210922-project-ffi-unwind/topic/cost.20of.20supporting.20longjmp.20without.20annotations">#project-ffi-unwind &gt; cost of supporting longjmp without annotations</a></p>



<a name="227581885"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227581885" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227581885">(Feb 24 2021 at 11:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120076">BatmanAoD (Kyle Strand)</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/227516357">said</a>:</p>
<blockquote>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> I won't be available during our typical sync-up time this Thursday; would 11am-11:30 work?</p>
</blockquote>
<p>I am not available tomorrow at all :(</p>



<a name="227658405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227658405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227658405">(Feb 24 2021 at 19:35)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> Howdy!</p>
<p>The implementation PR got stuck in rollup last time around. I believe I've now fixed the problems that caused that, and addressed the merge conflicts that had popped up. I've pinged Amanieu in that PR for another review pass, so hopefully we'll be able to land this soon. <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span> </p>
<p>I'll send a follow-up message when that does land, but wanted to go ahead and send a message about this before the weekly meeting.</p>



<a name="227666905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227666905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227666905">(Feb 24 2021 at 20:31)</a>:</h4>
<p><span class="user-mention" data-user-id="327458">@katelyn martin</span> good to know! I was wondering if it had landed yet</p>



<a name="227667039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227667039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227667039">(Feb 24 2021 at 20:32)</a>:</h4>
<p>I'll keep my fingers crossed for no more rollup surprises this time around <span aria-label="innocent" class="emoji emoji-1f607" role="img" title="innocent">:innocent:</span></p>



<a name="227698284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227698284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227698284">(Feb 25 2021 at 00:15)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Since there's been quite a bit more activity here recently, but Niko can't make it tomorrow, could we possibly reschedule for early next week?</p>



<a name="227814121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227814121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227814121">(Feb 25 2021 at 18:31)</a>:</h4>
<p>Howdy! <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> <span aria-label="cowboy" class="emoji emoji-1f920" role="img" title="cowboy">:cowboy:</span> </p>
<p>No exciting updates here, really. The implementation PR is waiting for rollup, I fixed a silly mistake surrounding <code>// ignore-*</code> directives in some of the unit tests, so we should be in good shape now. Thanks again to <span class="user-mention" data-user-id="143274">@Amanieu</span> for prompt reviews on this work, I really appreciate it.</p>
<p>If all goes well, that should be landing very soon. <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span></p>



<a name="227816103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/227816103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#227816103">(Feb 25 2021 at 18:45)</a>:</h4>
<p>Hey Katelyn! Thanks again for your work on this. I'm very excited to see it land.</p>
<p>I don't think we have much else to discuss here at the sync-up; I want to see the async discussions around <code>longjmp</code> and <code>pthread_cancel</code> continue for a bit before we make more decisions on how to proceed.</p>



<a name="229741804"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229741804" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229741804">(Mar 10 2021 at 20:50)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/76570">https://github.com/rust-lang/rust/pull/76570</a> has been merged! <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span></p>



<a name="229900854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229900854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229900854">(Mar 11 2021 at 18:27)</a>:</h4>
<p>I've got nothing to report; as mentioned above the implementation PR has landed. That's probably all from me for the time being, but I want to take a moment to thank you all again for providing the opportunity to work on this RFC! It was a lot of fun contributing to <code>rustc</code> for the first time, and you all made that an excellent experience.</p>
<p>Feel free to ping me if anything else comes up! <span aria-label="black heart" class="emoji emoji-1f5a4" role="img" title="black heart">:black_heart:</span> <span aria-label="sparkles" class="emoji emoji-2728" role="img" title="sparkles">:sparkles:</span></p>



<a name="229901673"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229901673" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229901673">(Mar 11 2021 at 18:32)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Hi all! I believe we actually do have a few things to discuss today.</p>
<p>First off, congratulations and thanks again to Katelyn! I was thrilled to see that PR get merged, and I hope you were too.</p>



<a name="229901835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229901835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229901835">(Mar 11 2021 at 18:32)</a>:</h4>
<p>The other things I think we should discuss briefly are:</p>
<ul>
<li>next steps for <code>"C-unwind"</code> implementation/stabilization</li>
<li>Other <code>"C-unwind"</code> followup</li>
<li>next steps for "longjump/cancelation" discussion</li>
</ul>



<a name="229901921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229901921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229901921">(Mar 11 2021 at 18:33)</a>:</h4>
<p>Ah! Here's one other little detail: <a href="https://github.com/rust-lang/rust/issues/63943">https://github.com/rust-lang/rust/issues/63943</a> I believe this issue can now be closed, but I'd cede to what others think about that. <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="229902151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229902151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229902151">(Mar 11 2021 at 18:34)</a>:</h4>
<p>We definitely need to resolve the issue; but yes, now that <code>"C-unwind"</code> exists, it should be unblocked.</p>



<a name="229902443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229902443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229902443">(Mar 11 2021 at 18:36)</a>:</h4>
<p>I don't actually want to be the one to say "yes, that's done" because to be honest I do not feel like an expert in that regard and (confession) I never closely reviewed the PR code.</p>



<a name="229903213"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229903213" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229903213">(Mar 11 2021 at 18:40)</a>:</h4>
<p>With the new  behavior from the <code>"C-unwind"</code> PR, it is now the case that panicking out of a <code>"C"</code> function always aborts (when it would previously escape the function boundary), correct?</p>



<a name="229903315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229903315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229903315">(Mar 11 2021 at 18:41)</a>:</h4>
<p>If so, I think that resolves the bug as written.</p>



<a name="229903533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229903533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229903533">(Mar 11 2021 at 18:42)</a>:</h4>
<p>If I'm reading it correctly, the test case in the issue description should have a <code>0</code> exit code if <code>"C"</code> is changed to <code>"C-unwind"</code> and the <code>unreachable_unchecked</code> is removed.</p>



<a name="229904079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229904079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229904079">(Mar 11 2021 at 18:46)</a>:</h4>
<p>The other follow-up issues I wanted to ask about are:</p>
<ul>
<li>What are the next steps for stabilization &amp; feature-gate removal?</li>
<li>Katelyn, do you have any interest in taking this refactoring on? <a href="https://github.com/rust-lang/rust/issues/65303#issuecomment-796566196">https://github.com/rust-lang/rust/issues/65303#issuecomment-796566196</a></li>
</ul>



<a name="229905569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229905569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229905569">(Mar 11 2021 at 18:56)</a>:</h4>
<blockquote>
<p>With the new behavior from the "C-unwind" PR, it is now the case that panicking out of a "C" function always aborts (when it would previously escape the function boundary), correct?</p>
</blockquote>
<p>_Almost_, to be slightly pedantic an <code>extern "C"</code> with <code>#[unwind(allowed)]</code> attribute would also unwind. That ought to be functionally equivalent to <code>extern "C-unwind"</code>. I responded that yes, that can be closed now AIUI.</p>
<blockquote>
<p>Katelyn, do you have any interest in taking this refactoring on? <a href="https://github.com/rust-lang/rust/issues/65303#issuecomment-796566196">https://github.com/rust-lang/rust/issues/65303#issuecomment-796566196</a></p>
</blockquote>
<p><a href="https://www.youtube.com/watch?v=UneS2Uwc6xw">Just when i thought i was out... they pull me back in!</a> I'd be happy try and take that on! I certainly found that duplicate logic a smidge confusing myself.</p>
<div class="youtube-video message_inline_image"><a data-id="UneS2Uwc6xw" href="https://www.youtube.com/watch?v=UneS2Uwc6xw"><img src="https://i.ytimg.com/vi/UneS2Uwc6xw/default.jpg"></a></div>



<a name="229905713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229905713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229905713">(Mar 11 2021 at 18:57)</a>:</h4>
<blockquote>
<p>That ought to be functionally equivalent to <code>extern "C-unwind"</code></p>
</blockquote>
<p>I think as long as <code>nounwind</code> is not emitted, there's no unsoundness, correct?</p>



<a name="229905773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229905773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229905773">(Mar 11 2021 at 18:57)</a>:</h4>
<p>So yes, I would agree that the bug can be closed. Though that brings up one of the follow-ups I forgot to mention! We do need to deprecate &amp; remove <code>unwind(allowed|denied)</code>.</p>



<a name="229905990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229905990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229905990">(Mar 11 2021 at 18:58)</a>:</h4>
<p>I am wondering if the code-duplication issue can be combined with removing those annotations.</p>



<a name="229906048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229906048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229906048">(Mar 11 2021 at 18:59)</a>:</h4>
<p>Do you think it would be easier to do as a single effort, or separately?</p>



<a name="229906459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229906459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229906459">(Mar 11 2021 at 19:01)</a>:</h4>
<p>Anyway, sorry,  I need to jump to another meeting. Feel free to continue the discussion here async; I'll check back regularly.</p>



<a name="229907244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229907244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229907244">(Mar 11 2021 at 19:06)</a>:</h4>
<blockquote>
<p>I am wondering if the code-duplication issue can be combined with removing those annotations.<br>
Do you think it would be easier to do as a single effort, or separately?</p>
</blockquote>
<p>My gut says that doing these separately would probably be most sensible, but I haven't tugged on the relevant strings enough to know for sure. We could operate under the assumption that these are separate efforts until proven wrong.</p>



<a name="229910429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229910429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229910429">(Mar 11 2021 at 19:26)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="229912665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229912665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229912665">(Mar 11 2021 at 19:41)</a>:</h4>
<blockquote>
<p>What are the next steps for stabilization &amp; feature-gate removal?</p>
</blockquote>
<p>Oh and _this_ part I have very little idea about. I don't have an answer, and will let someone else with more familiarity around stabilization answer that question. <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="229913699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/229913699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#229913699">(Mar 11 2021 at 19:47)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> ^ do you have guidance on stabilization &amp; feature-gate removal?</p>



<a name="231140686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231140686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231140686">(Mar 20 2021 at 11:29)</a>:</h4>
<p><span class="user-mention silent" data-user-id="327458">katelyn martin</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/229912665">said</a>:</p>
<blockquote>
<p>Oh and _this_ part I have very little idea about. I don't have an answer, and will let someone else with more familiarity around stabilization answer that question. <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>
</blockquote>
<p>So, the next steps from a procedural POV is to write-up a <a href="https://rustc-dev-guide.rust-lang.org/stabilization_guide.html">stabilization report</a> -- but we do need to let the feature bake a bit</p>



<a name="231140695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231140695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231140695">(Mar 20 2021 at 11:29)</a>:</h4>
<p>we don't have a good process for this right now -- like a clear way to "set a timer" sort of thing --</p>



<a name="231140698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231140698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231140698">(Mar 20 2021 at 11:29)</a>:</h4>
<p>I think it'd be really helpful to collect some experience reports from people adopting it</p>



<a name="231140710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231140710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231140710">(Mar 20 2021 at 11:29)</a>:</h4>
<p>although of course there is always the challenge that adopting it riquires adopting nightly</p>



<a name="231140717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231140717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231140717">(Mar 20 2021 at 11:29)</a>:</h4>
<p>one thing we might do is write a blog post encouraging adoption and encouraging people to leave comments on the tracking issue -- what do you think about that, <span class="user-mention" data-user-id="327458">@katelyn martin</span> or <span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> ?</p>



<a name="231162708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231162708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231162708">(Mar 20 2021 at 18:26)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I agree with that, so I've included it in a summary I just wrote up of our next steps</p>



<a name="231844044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231844044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231844044">(Mar 25 2021 at 17:35)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Hi all! (Sorry I'm a few minutes late.)</p>



<a name="231844401"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231844401" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231844401">(Mar 25 2021 at 17:37)</a>:</h4>
<p>I think the main thing for today is making a decision on how to proceed with the Beta branch issue (the current Beta cut includes the changes from the PR, which changes the behavior of <code>"C"</code> without providing an opt-out).</p>



<a name="231844627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231844627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231844627">(Mar 25 2021 at 17:39)</a>:</h4>
<p>The options we've discussed are:</p>
<ul>
<li>A new PR that would need to be backported into the beta branch: apply the <code>"C-unwind"</code> behavior to <code>"C"</code> if the <code>"C-unwind"</code> feature flag is not used</li>
<li>Revert the <code>"C-unwind"</code> PR in the beta branch</li>
</ul>



<a name="231844645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231844645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231844645">(Mar 25 2021 at 17:39)</a>:</h4>
<p>Additionally, I think we need to give the release team a heads up on this.</p>



<a name="231844751"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231844751" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231844751">(Mar 25 2021 at 17:40)</a>:</h4>
<p>Hello! Apologies, I haven't had much time this week to properly focus on FFI-unwind this week. As I understand it, the steps are to first place the change in behavior of the <code>C</code> ABI behind the feature gate, and then work on addressing the soundness guarantees after that's accomplished.</p>



<a name="231844920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231844920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231844920">(Mar 25 2021 at 17:41)</a>:</h4>
<p>Do you mean without the feature gate? The time-sensitive requirement here is to not land a breaking change on Stable.</p>



<a name="231845277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231845277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231845277">(Mar 25 2021 at 17:43)</a>:</h4>
<p>Pardon. Yes, I meant that the change in behavior would not apply without the feature gate.</p>



<a name="231845563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231845563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231845563">(Mar 25 2021 at 17:45)</a>:</h4>
<p>Time-sensitivity is good to know about; can I ask what the general time scale is? Worst case, reverting that PR in the beta branch might be a fine route forward for now.</p>



<a name="231845652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231845652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231845652">(Mar 25 2021 at 17:45)</a>:</h4>
<p>The stable release should be 6 weeks from the beta cut, which I believe was last weekend. I'll double-check the dates though</p>



<a name="231846810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231846810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231846810">(Mar 25 2021 at 17:53)</a>:</h4>
<p>yeah, that's correct</p>



<a name="231847638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231847638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231847638">(Mar 25 2021 at 17:57)</a>:</h4>
<p>...or rather, the stable release should be every 6 weeks, and today is a stable release day. I didn't realize the beta was cut earlier than that.</p>



<a name="231847695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231847695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231847695">(Mar 25 2021 at 17:58)</a>:</h4>
<p>So I think we have 6 weeks from today</p>



<a name="231848671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231848671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231848671">(Mar 25 2021 at 18:03)</a>:</h4>
<p>Gotchya. I think I would be able put together a fix for that in &lt; 2 weeks. Accounting for a bit of buffer time for review / rollup, I think we can have that fixed in time. But, if that ends up taking more than... say 4 weeks? I'd be content to play it safe and revert the PR before the next cut</p>



<a name="231848766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231848766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231848766">(Mar 25 2021 at 18:04)</a>:</h4>
<p>Does that feel like a fair set of deadlines to you?</p>



<a name="231849023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231849023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231849023">(Mar 25 2021 at 18:05)</a>:</h4>
<p>Ideally we want the PR merged into beta branch roughly 2 weeks out from the thursday release day, so that sounds like a reasonable timeline</p>



<a name="231849158"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231849158" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231849158">(Mar 25 2021 at 18:06)</a>:</h4>
<p>I asked for a deadline in the release team channel, so I'll leave it up to them; but yes, I would expect them to agree that that's a reasonable timeline.</p>



<a name="231849858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/231849858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#231849858">(Mar 25 2021 at 18:10)</a>:</h4>
<p>Awesome thank you all, and sorry about the trouble! <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="233688339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/233688339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#233688339">(Apr 08 2021 at 16:55)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> I'll be a bit async for this weekly meeting, I have some errands to run today</p>



<a name="233688545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/233688545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#233688545">(Apr 08 2021 at 16:56)</a>:</h4>
<p><span class="user-mention" data-user-id="327458">@katelyn martin</span> were you able to work on a patch for the <code>"C"</code> behavior?</p>



<a name="234196580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/234196580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#234196580">(Apr 12 2021 at 17:17)</a>:</h4>
<p>Hi <span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span>!</p>
<p>Addressing the points you've made <a href="#narrow/stream/210922-project-ffi-unwind/topic/.60.22C-unwind.22.60.20next.20steps/near/231162649">here</a> in the "_next steps_" channel is going to be my main focus for the next few days. I spent some time looking into the abort-on-unwind wrapper; that part in particular I'm not entirely sure about yet. I think I have found the right places to look around, but in general I'm a bit new to these corners of rustc.</p>
<p>As for the patch, I'm going to put that together today. That part in particular ought not to be as involved as the rest of the work, and given the urgency, I don't want to wait any longer on that.</p>
<p>My sincere apologies for making you wait over the weekend! <span aria-label="blue heart" class="emoji emoji-1f499" role="img" title="blue heart">:blue_heart:</span></p>



<a name="234237070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/234237070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#234237070">(Apr 12 2021 at 21:56)</a>:</h4>
<p><span class="user-mention silent" data-user-id="327458">katelyn martin</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/234196580">said</a>:</p>
<blockquote>
<p>I spent some time looking into the abort-on-unwind wrapper; that part in particular I'm not entirely sure about yet.</p>
</blockquote>
<p>Yeah, that's one bit of what we spec'd in the RFC that I suspect is unfortunately rather tricky at the implementation level. It may even be introducing a new concept to the compiler (AFAIK there's no existing feature that requires auto-generating shims like that).</p>
<blockquote>
<p>As for the patch, I'm going to put that together today.</p>
</blockquote>
<p>Excellent! I don't know if I'll be online again today, but please ping <code>@wg-ffi-unwind</code> when you've opened a PR, and tomorrow morning I'll provide an update to the release team. (Or, if you'd like, you can just post a link to the PR in the topic in their stream, <a class="stream" data-stream-id="241545" href="/#narrow/stream/241545-t-release">#t-release</a>.)</p>



<a name="234335983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/234335983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#234335983">(Apr 13 2021 at 14:33)</a>:</h4>
<p>Cross posting from <a class="stream-topic" data-stream-id="210922" href="/#narrow/stream/210922-project-ffi-unwind/topic/.02klzzwxh.3A0000.03.20next.20steps">#project-ffi-unwind &gt; <code>"C-unwind"</code> next steps</a>...</p>
<p>Hi <span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span>! I've opened up <a href="https://github.com/rust-lang/rust/pull/84158">https://github.com/rust-lang/rust/pull/84158</a>, which should address the concerns above.</p>



<a name="235716932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/235716932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#235716932">(Apr 22 2021 at 17:30)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Check-in meeting time!</p>



<a name="235717530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/235717530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#235717530">(Apr 22 2021 at 17:34)</a>:</h4>
<p>I haven't gotten around to opening an issue for the <code>willreturn</code> bug. I've had a pretty hectic week.</p>



<a name="235717930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/235717930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#235717930">(Apr 22 2021 at 17:36)</a>:</h4>
<p>Status updates:</p>
<ul>
<li>The compiler team has asked the release team to revert the <code>"C-unwind"</code> PR rather than <del>merge</del> backport the fix for the <code>"C"</code> behavior. <del>I'm not sure what the rationale for this is or whether this will be done on <code>main</code> (in which case I guess we'd need a new PR introducing <code>"C-unwind"</code>) or just on the beta/stable branches (in which case I guess they'd need to do this for every release until the <code>"C-unwind"</code> feature is ready for stabilization).</del></li>
<li>There's some concern that an LLVM bug causes incorrect code-gen when <code>longjmp</code> and strict-aliasing interact; we plan to open a bug report for this. We haven't yet discussed how this impacts the specification of <code>longjmp</code>.</li>
<li>The language team would like our charter to be updated to include the <code>longjmp</code> work in the scope declaration.</li>
</ul>



<a name="235718658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/235718658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#235718658">(Apr 22 2021 at 17:41)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> Hiya. I've had a hectic week, and haven't been able to keep abreast of much aside from landing the <code>"C"</code> behavior fix. That's unfortunate news to hear <span aria-label="sad" class="emoji emoji-2639" role="img" title="sad">:sad:</span> Is there anything I should be aware of, or that I can do to help?</p>



<a name="235719419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/235719419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#235719419">(Apr 22 2021 at 17:46)</a>:</h4>
<p>^ actually I'm mistaken; your patch was already merged to <code>master</code>, so it's only this upcoming release that's affected by the revert.</p>



<a name="235720547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/235720547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#235720547">(Apr 22 2021 at 17:53)</a>:</h4>
<p><span aria-label="bulb" class="emoji emoji-1f4a1" role="img" title="bulb">:bulb:</span> Oh! I suppose that makes a bit more sense. Apologies again for the delay in preparing that patch, and thank you for clarifying.</p>



<a name="235721682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/235721682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#235721682">(Apr 22 2021 at 18:00)</a>:</h4>
<p>That's okay. Thanks for getting it done!</p>



<a name="235721899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/235721899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#235721899">(Apr 22 2021 at 18:01)</a>:</h4>
<p>Anyway, I have to jump, but as always, async updates, questions, &amp;c are welcome.</p>



<a name="237698676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/237698676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#237698676">(May 06 2021 at 17:35)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> hi all! Biweekly update time. Anything to mention? I don't think we have any impending deadlines, and I think we're all aware of the next steps for <code>"C-unwind"</code>.</p>



<a name="237699239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/237699239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#237699239">(May 06 2021 at 17:39)</a>:</h4>
<ul>
<li>nodding * That sounds right to me! I've been a little busy with work things the past couple weeks, but I'm excited to pick this up again soon. Once this is again on my radar, I'm hoping to think about those abort-on-unwind wrappers. Nothing else to report on my end <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></li>
</ul>



<a name="237710978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/237710978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#237710978">(May 06 2021 at 18:56)</a>:</h4>
<p>sounds good to me, too</p>



<a name="239631088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/239631088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#239631088">(May 20 2021 at 17:38)</a>:</h4>
<p>Hi! Nothing exciting to report. I do have one question/request: I'd love to implement the abort-on-unwind wrappers. _But_, in previous conversations, I got the sense that this would be a bit of a new concept within the <code>rustc</code> codebase, which I'm frankly rather unfamiliar with in general.</p>
<p>Do any of you have a good idea who might be a good person to ask for more guidance, or design advice, for how to go about this work? It was especially helpful last time around having some signposts to help send me in the right direction. <span aria-label="blue heart" class="emoji emoji-1f499" role="img" title="blue heart">:blue_heart:</span></p>



<a name="239631319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/239631319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#239631319">(May 20 2021 at 17:40)</a>:</h4>
<p>Hey! Sorry, wasn't watching the clock for a bit.</p>



<a name="239632013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/239632013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#239632013">(May 20 2021 at 17:45)</a>:</h4>
<p>I...do not know, unfortunately. <span class="user-mention" data-user-id="116009">@nikomatsakis</span>?</p>



<a name="239764809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/239764809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#239764809">(May 21 2021 at 15:01)</a>:</h4>
<p><span class="user-mention" data-user-id="327458">@katelyn martin</span> I can hep you</p>



<a name="239764880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/239764880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#239764880">(May 21 2021 at 15:02)</a>:</h4>
<p>let's open a topic on it</p>



<a name="241424353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/241424353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> katelyn martin <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#241424353">(Jun 03 2021 at 17:28)</a>:</h4>
<p>Hello <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span>  I come bearing unfortunate news.</p>
<p>I need to be honest with both myself and you all about my bandwidth at this time, and hand off the responsibilities of designing (_and most likely implementing_) abort-on-unwind wrappers for <code>*-unwind</code> functions. I had hoped I would be able to take this on, but time continues to pass and I do not want to be a blocker for stabilizing this exciting new feature.</p>
<p>I believe <span class="user-mention" data-user-id="254368">@Till Schneidereit</span> is going to try and find someone that has the cycles to take this on, so I wanted to introduce you all in case you're unfamiliar. My apologies about this, I sincerely wish I had the time to take this work on <span aria-label="blue heart" class="emoji emoji-1f499" role="img" title="blue heart">:blue_heart:</span></p>



<a name="241425094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/241425094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#241425094">(Jun 03 2021 at 17:33)</a>:</h4>
<p>Hi <span class="user-mention" data-user-id="327458">@katelyn martin</span> ! I'm sorry to hear you won't be able to do the work you wanted to on this, but I'm glad to hear that you are narrowing your focus to the things you have the bandwidth for; that's more important than getting a feature stabilized sooner.</p>



<a name="241425472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/241425472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#241425472">(Jun 03 2021 at 17:35)</a>:</h4>
<p>Thank you for introducing us to Till! I'm sorry we don't have someone ready to take on what you're handing off just yet (and admittedly I myself have only been contributing a minimal amount of time to the project for a while now).</p>



<a name="241533008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/241533008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#241533008">(Jun 04 2021 at 13:17)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="327458">@katelyn martin</span> -- thanks for all the work you did so far!</p>



<a name="241533047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/241533047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#241533047">(Jun 04 2021 at 13:17)</a>:</h4>
<p>I'm sure we can find someone to pick it up</p>



<a name="243055288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243055288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243055288">(Jun 17 2021 at 17:39)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Hi everyone! (Sorry for the late start today.) Big thanks to <span class="user-mention" data-user-id="116015">@Alex Crichton</span> for taking on the "next steps" work. He has a proposed approach in this PR, which has quite a bit of discussion: <a href="https://github.com/rust-lang/rust/pull/86155">https://github.com/rust-lang/rust/pull/86155</a></p>



<a name="243055364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243055364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243055364">(Jun 17 2021 at 17:40)</a>:</h4>
<p>I was reading that PR</p>



<a name="243055396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243055396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243055396">(Jun 17 2021 at 17:40)</a>:</h4>
<p>Same; unfortunately I have not yet had time to really digest the conversation there.</p>



<a name="243055399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243055399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243055399">(Jun 17 2021 at 17:40)</a>:</h4>
<p>My personal take is that virtually any approach is fine as long as <span class="user-mention" data-user-id="116015">@Alex Crichton</span> will see it through and we dn't get stuck half-way through</p>



<a name="243055409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243055409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243055409">(Jun 17 2021 at 17:40)</a>:</h4>
<p>I think the big diference now is we know where we are going</p>



<a name="243055457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243055457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243055457">(Jun 17 2021 at 17:41)</a>:</h4>
<p>(if it'd help I can give a summary of where that PR is at)</p>



<a name="243055765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243055765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243055765">(Jun 17 2021 at 17:44)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span> sounds helpful :)</p>



<a name="243055888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243055888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243055888">(Jun 17 2021 at 17:44)</a>:</h4>
<p>Apart from fixing some known issues, there's one more major new piece of information worth pointing out, a proposed <a href="https://github.com/rust-lang/rust/pull/86155#issuecomment-860278358">stabilization story</a>, namely:</p>
<ol>
<li>Land this PR. This will change the codegen of <code>extern "C"</code> functions on <code>panic=unwind</code> to assume they might unwind. In other words we'll stop placing <code>nounwind</code> on things. This is to stem the tide of UB and remove a hole in Rust where the example I listed above is 100% safe code yet UB.</li>
<li>Stabilize the <code>extern "C-unwind"</code> ABI. This allows any program using <code>"C"</code> today but wants to use unwinding to move to <code>"C-unwind"</code>. At this point in time the <code>"C"</code> and <code>"C-unwind"</code> ABIs are effectively the same.</li>
<li>After <code>"C-unwind"</code> is available on stable/beta/nightly, change the behavior of <code>"C"</code> back to placing <code>nounwind</code> everywhere and catching panics to then abort.</li>
</ol>



<a name="243056078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243056078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243056078">(Jun 17 2021 at 17:46)</a>:</h4>
<p>Otherwise the PR is also having some back and forth with Ralf as I learn MIR and some of the intricacies. I implemented the bug fix as a MIR pass which is a relatively "destructive" pass in that it changes the operational semantics of the MIR. Ralf's thoughts are that we ideally don't want to do this (and if it we do we should explicitly list the "dialect" of the MIR), although I don't think this is implemented today (and there's other preexisting instances like drop elaboration which change the dialect)</p>



<a name="243056200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243056200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243056200">(Jun 17 2021 at 17:47)</a>:</h4>
<p>I dug in a bit and I found <a href="https://github.com/rust-lang/rust/blob/8daad743c4bb941536860b4df20111cb71b8c777/compiler/rustc_middle/src/mir/terminator.rs#L235-L241">a comment</a> which indicates to me that we probably don't want to change the construction of the MIR (since it could have an affect on the borrowck semantics), so given that I think that we probably want a pass of some form and it's largely just a question of when the pass actually runs.</p>



<a name="243056264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243056264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243056264">(Jun 17 2021 at 17:47)</a>:</h4>
<p>I wrote some more specific questions <a href="https://github.com/rust-lang/rust/pull/86155#issuecomment-862481768">here</a> but those are probably best handled later rather than right here</p>



<a name="243056321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243056321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243056321">(Jun 17 2021 at 17:47)</a>:</h4>
<p>in terms of discussion here, though, the proposed stabilization story is probably the best to focus on</p>



<a name="243056398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243056398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243056398">(Jun 17 2021 at 17:48)</a>:</h4>
<p>oh also this PR removes <code>#[unwind]</code> and all support</p>



<a name="243057070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057070">(Jun 17 2021 at 17:52)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span> what was the bug fix?</p>



<a name="243057107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057107">(Jun 17 2021 at 17:52)</a>:</h4>
<p>I saw some of that back and forth and was surprised that MIR was involved</p>



<a name="243057202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057202">(Jun 17 2021 at 17:53)</a>:</h4>
<p>2 bug fixes:</p>
<ul>
<li>With <code>-Cpanic=unwind</code>, this is no longer UB: <code>extern "C" fn foo() { panic!() }</code></li>
<li>With <code>-Cpanic=abort</code>, this now correctly catches panics and aborts: <code>extern "C" fn foo() { extern "C-unwind" fn bar() {} bar() }</code></li>
</ul>



<a name="243057226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057226">(Jun 17 2021 at 17:53)</a>:</h4>
<p>sorry that latter example is not easy to show in one line on zulip heh</p>



<a name="243057320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057320">(Jun 17 2021 at 17:54)</a>:</h4>
<p>eventually, the plan would be for both of those to abort, right?</p>



<a name="243057367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057367">(Jun 17 2021 at 17:54)</a>:</h4>
<p>and the point is that, for the 1st one, we want to have <em>some</em> UB-free semantics to expose on stable</p>



<a name="243057383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057383">(Jun 17 2021 at 17:54)</a>:</h4>
<p>until we have a transition plan in place (C-unwind)</p>



<a name="243057447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057447">(Jun 17 2021 at 17:55)</a>:</h4>
<p>I don't thnk I undersatnd how the second one aborts....</p>



<a name="243057471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057471">(Jun 17 2021 at 17:55)</a>:</h4>
<p>is the assumpton that <code>bar</code> would actually <code>panic!()</code>?</p>



<a name="243057499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057499">(Jun 17 2021 at 17:55)</a>:</h4>
<p>correct, yeah, on aborting on both</p>



<a name="243057524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057524">(Jun 17 2021 at 17:55)</a>:</h4>
<p>oh and yeah assume that <code>bar</code> is way more complicated or does a C++ unwind</p>



<a name="243057624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057624">(Jun 17 2021 at 17:56)</a>:</h4>
<p>the codegen today is incorrect where it adds <code>nounwind</code> to <code>bar</code> which is not true, and now the codegen no longer does that</p>



<a name="243057708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057708">(Jun 17 2021 at 17:56)</a>:</h4>
<p>I ended up changing the MIR construction for this because I figured it was best to reflect the "cleanup &amp; abort" in the MIR</p>



<a name="243057752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243057752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243057752">(Jun 17 2021 at 17:57)</a>:</h4>
<p>er, not the actual construction of MIR, just shape of the MIR by the time it makes its way to codegen</p>



<a name="243058110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058110">(Jun 17 2021 at 17:59)</a>:</h4>
<p>OK, so the idea is that <em>when -Cpanic=abort, we actually manage the unwind case for a call to a C-unwind function and abort</em></p>



<a name="243058123"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058123" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058123">(Jun 17 2021 at 17:59)</a>:</h4>
<p>that all makes sense to me</p>



<a name="243058161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058161">(Jun 17 2021 at 17:59)</a>:</h4>
<p>is this plan written up?</p>



<a name="243058177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058177">(Jun 17 2021 at 17:59)</a>:</h4>
<p>we should probably get FCP approval from the lang team and then just Get It Done</p>



<a name="243058262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058262">(Jun 17 2021 at 18:00)</a>:</h4>
<p>Well, it's implied by the RFC, though the implementation details of course are not.</p>



<a name="243058280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058280">(Jun 17 2021 at 18:00)</a>:</h4>
<p>I don't know that we even <em>need</em> FCP approval</p>



<a name="243058288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058288">(Jun 17 2021 at 18:00)</a>:</h4>
<p>I know that this was mildly contentious before</p>



<a name="243058310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058310">(Jun 17 2021 at 18:00)</a>:</h4>
<p>but it seems like a perfectly reasonable path to me</p>



<a name="243058325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058325">(Jun 17 2021 at 18:00)</a>:</h4>
<p>I just think it should be documented on an issue in very clear terms</p>



<a name="243058334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058334">(Jun 17 2021 at 18:00)</a>:</h4>
<p>I'm happy to do w/e, just lemme know what needs writing up and where</p>



<a name="243058370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058370">(Jun 17 2021 at 18:01)</a>:</h4>
<p>is there anything controversial about the PR apart from the interim step of having no UB?</p>



<a name="243058386"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058386" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058386">(Jun 17 2021 at 18:01)</a>:</h4>
<p>(I was under the impression everything here was implied by the RFC as well, but I can write more technical docs for how this is implemented)</p>



<a name="243058398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058398">(Jun 17 2021 at 18:01)</a>:</h4>
<p>I don't think we need any approval to make this the <code>"C-unwind"</code> behavior. The only possibly-contentious part now, I think, is whether we want to temporarily remove the LLVM UB from <code>"C"</code>.</p>



<a name="243058414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058414">(Jun 17 2021 at 18:01)</a>:</h4>
<p>I don't think we need docs per se</p>



<a name="243058430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058430">(Jun 17 2021 at 18:01)</a>:</h4>
<p>I think having a list on the tracking issue or whatever that is like</p>



<a name="243058436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058436">(Jun 17 2021 at 18:01)</a>:</h4>
<h1>Stages</h1>



<a name="243058439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058439">(Jun 17 2021 at 18:01)</a>:</h4>
<p>I think the "do it as a MIR pass" isn't fully resolved? Ralf would know more about his concerns in that respect I think</p>



<a name="243058485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058485">(Jun 17 2021 at 18:01)</a>:</h4>
<p>Yes, that part seems to imply some wrinkles we weren't previously aware of.</p>



<a name="243058501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058501">(Jun 17 2021 at 18:01)</a>:</h4>
<p>Ooh, wait</p>



<a name="243058551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058551">(Jun 17 2021 at 18:02)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116015">Alex Crichton</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/weekly.20meeting/near/243058439">said</a>:</p>
<blockquote>
<p>I think the "do it as a MIR pass" isn't fully resolved? Ralf would know more about his concerns in that respect I think</p>
</blockquote>
<p>ah, yes, +1</p>



<a name="243058571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058571">(Jun 17 2021 at 18:02)</a>:</h4>
<p>but that's "just a review concern"</p>



<a name="243058636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058636">(Jun 17 2021 at 18:02)</a>:</h4>
<p>lol ok then yeah I think then that there's no other controversial parts</p>



<a name="243058770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058770">(Jun 17 2021 at 18:03)</a>:</h4>
<table>
<thead>
<tr>
<th>Stage</th>
<th>Complete?</th>
<th>Panic from within an extern "C" fn</th>
<th>"C-unwind" ABI</th>
</tr>
</thead>
<tbody>
<tr>
<td>Today</td>
<td><span aria-label="check" class="emoji emoji-2705" role="img" title="check">:check:</span></td>
<td>LLVM-UB</td>
<td>nightly</td>
</tr>
<tr>
<td>With PR</td>
<td></td>
<td>Rust-UB but not LLVM-UB</td>
<td>nightly</td>
</tr>
<tr>
<td>With C-unwind stabilized</td>
<td></td>
<td>Rust-UB but not LLVM-UB</td>
<td>beta</td>
</tr>
<tr>
<td>After announcement</td>
<td></td>
<td>LLVM-UB</td>
<td>stable</td>
</tr>
</tbody>
</table>



<a name="243058781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058781">(Jun 17 2021 at 18:03)</a>:</h4>
<p>roughly this</p>



<a name="243058833"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058833" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058833">(Jun 17 2021 at 18:03)</a>:</h4>
<p>it doesn't quite capture the "panic=abort" behavior or something, but that's basically just a bug you are fixing, not a transition point</p>



<a name="243058952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058952">(Jun 17 2021 at 18:04)</a>:</h4>
<p>yeah that looks right to me</p>



<a name="243058979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243058979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243058979">(Jun 17 2021 at 18:04)</a>:</h4>
<p><code>unstable</code>/<code>stable</code> referring to whether the behavior change is released on stable?</p>



<a name="243059020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059020">(Jun 17 2021 at 18:05)</a>:</h4>
<p>er, well, I meant actually whether C-unwind is <em>available</em> on stable</p>



<a name="243059074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059074">(Jun 17 2021 at 18:05)</a>:</h4>
<p>That column header could probably just be <code>"C-unwind" availability</code>, and the entries would be <code>nightly</code>, <code>nightly</code>, <code>beta</code>, <code>stable</code></p>



<a name="243059095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059095">(Jun 17 2021 at 18:05)</a>:</h4>
<p>+!</p>



<a name="243059224"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059224" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059224">(Jun 17 2021 at 18:06)</a>:</h4>
<p>Maybe there needs to be a row for going from <code>nightly, with feature enabled</code> to <code>nightly, on by default</code> ?</p>



<a name="243059324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059324">(Jun 17 2021 at 18:07)</a>:</h4>
<p>I don't know what that means...</p>



<a name="243059333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059333">(Jun 17 2021 at 18:07)</a>:</h4>
<p>oh, I see</p>



<a name="243059358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059358">(Jun 17 2021 at 18:07)</a>:</h4>
<p>meh you can add a row if you want :)</p>



<a name="243059385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059385">(Jun 17 2021 at 18:07)</a>:</h4>
<p>I just want that documented somewhere in a tracking issue</p>



<a name="243059401"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059401" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059401">(Jun 17 2021 at 18:07)</a>:</h4>
<p>so we can point people at where we are</p>



<a name="243059419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059419">(Jun 17 2021 at 18:07)</a>:</h4>
<p>or on the project-group repo</p>



<a name="243059455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059455">(Jun 17 2021 at 18:07)</a>:</h4>
<p>probably a good idea to add the row</p>



<a name="243059472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059472">(Jun 17 2021 at 18:07)</a>:</h4>
<p>eventually the final two rows would be after release numbers</p>



<a name="243059482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059482">(Jun 17 2021 at 18:07)</a>:</h4>
<p>hopefully not too far from now</p>



<a name="243059500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059500">(Jun 17 2021 at 18:07)</a>:</h4>
<p>in fact, we could probably just ... predict them, right/</p>



<a name="243059550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059550">(Jun 17 2021 at 18:08)</a>:</h4>
<p>i.e., we expect to be able to start stabilization proces quite quickly I think?</p>



<a name="243059602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059602">(Jun 17 2021 at 18:08)</a>:</h4>
<p>seems plausible to me we could get C-unwind stabilized before next release</p>



<a name="243059634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059634">(Jun 17 2021 at 18:08)</a>:</h4>
<p>I'm also wondering about the <code>with C-unwind stabilized</code> row: wouldn't we want to turn LLVM-UB back on once the feature hits <code>beta</code>?</p>



<a name="243059639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059639">(Jun 17 2021 at 18:08)</a>:</h4>
<p>I would need to follow up with a separate PR to split the <code>c_unwind</code> feature into two feature gates, one for the ABI name and one for the behavior change</p>



<a name="243059663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059663">(Jun 17 2021 at 18:08)</a>:</h4>
<p>(but that won't take long)</p>



<a name="243059685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059685">(Jun 17 2021 at 18:09)</a>:</h4>
<p>what behavior change? I'm confused :)</p>



<a name="243059687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059687">(Jun 17 2021 at 18:09)</a>:</h4>
<p>but ok</p>



<a name="243059719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059719">(Jun 17 2021 at 18:09)</a>:</h4>
<p>behavior change for <code>"C"</code>?</p>



<a name="243059721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059721">(Jun 17 2021 at 18:09)</a>:</h4>
<p>behavior change == "catch unwinds and abort"</p>



<a name="243059762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059762">(Jun 17 2021 at 18:09)</a>:</h4>
<p>ok</p>



<a name="243059775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059775">(Jun 17 2021 at 18:09)</a>:</h4>
<p>then yes, we should do that</p>



<a name="243059791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059791">(Jun 17 2021 at 18:09)</a>:</h4>
<p>it'd be helpful to have distinct feature names anyway</p>



<a name="243059794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059794">(Jun 17 2021 at 18:09)</a>:</h4>
<p>to talk about the phases</p>



<a name="243059801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059801">(Jun 17 2021 at 18:09)</a>:</h4>
<p>nightly is now 1.55, so <code>"C-unwind"</code> could be in 1.55, and then we could make the behavior change in 1.57?</p>



<a name="243059876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059876">(Jun 17 2021 at 18:10)</a>:</h4>
<p>right so if we have <code>C_unwind_abi</code> and <code>C_unwind_abort</code> (say)</p>



<a name="243059928"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059928" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059928">(Jun 17 2021 at 18:10)</a>:</h4>
<p>well anyway I was going to make some table but yes</p>



<a name="243059949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059949">(Jun 17 2021 at 18:10)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> would you be up to make a table on the project-ffi-unwind repo README or something showing The Plan?</p>



<a name="243059973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243059973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243059973">(Jun 17 2021 at 18:11)</a>:</h4>
<p>seems like we're in agreement, just need to document it</p>



<a name="243060019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243060019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243060019">(Jun 17 2021 at 18:11)</a>:</h4>
<p>I was thinking it'd be good for <span class="user-mention" data-user-id="116015">@Alex Crichton</span> not to make it but to read somebody else's interpretation to be sure at least 2 people see it the same way :)</p>



<a name="243060027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243060027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243060027">(Jun 17 2021 at 18:11)</a>:</h4>
<p>Yes, I'll ask follow-up questions if I need it</p>



<a name="243060178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243060178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243060178">(Jun 17 2021 at 18:12)</a>:</h4>
<p>(actually <code>c_unwind_abi</code> would never be a feature, we'd probably just have a stabilization PR that didn't gate <code>"C-unwind"</code> but continued to gate behavior)</p>



<a name="243060503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243060503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243060503">(Jun 17 2021 at 18:15)</a>:</h4>
<p>ok ok</p>



<a name="243060510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243060510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243060510">(Jun 17 2021 at 18:15)</a>:</h4>
<p>that makes sense</p>



<a name="243060757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243060757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243060757">(Jun 17 2021 at 18:17)</a>:</h4>
<p>Sorry, I didn't quite follow that; does that mean there will not be separate feature flags after all?</p>



<a name="243060824"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243060824" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243060824">(Jun 17 2021 at 18:17)</a>:</h4>
<p>And I would have thought <code>c_unwind_abi</code> corresponded to the feature flag we already introduced.</p>



<a name="243060973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243060973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243060973">(Jun 17 2021 at 18:18)</a>:</h4>
<p>I think we can probably skip that step by just immediately stabilizing <code>"C-unwind"</code></p>



<a name="243061019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243061019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243061019">(Jun 17 2021 at 18:18)</a>:</h4>
<p><code>feature(c_unwind)</code> gates two things today, the ABI and the behavior change, and we could just stabilize half of that and leave the other half undisturbed</p>



<a name="243061050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243061050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243061050">(Jun 17 2021 at 18:19)</a>:</h4>
<p>but that's just a thought, we could also go the full split-the-feature-gates-then-stabilize-one-gate route too</p>



<a name="243062331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/243062331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#243062331">(Jun 17 2021 at 18:27)</a>:</h4>
<p>Ah, okay, I see what you're saying.</p>



<a name="244602232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/244602232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#244602232">(Jul 01 2021 at 17:40)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Hey all, it sounds like Alex's PR is moving along (thanks again, and thanks to Niko for jumping in on review duty). I'll write a quick update for the lang team meeting next week. I don't believe we have any other items to discuss that aren't already being discussed in other channels.</p>



<a name="247616432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/247616432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#247616432">(Jul 29 2021 at 17:38)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Hi all, do we have any updates today?</p>



<a name="247698400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/247698400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#247698400">(Jul 30 2021 at 11:58)</a>:</h4>
<p>I don't :) I'll be on vacation next 2 weeks</p>



<a name="248424283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/248424283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#248424283">(Aug 05 2021 at 00:01)</a>:</h4>
<p>PR merged! Congrats <span class="user-mention" data-user-id="143274">@Amanieu</span>, and thanks again for taking that bit on!</p>



<a name="248424329"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/248424329" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#248424329">(Aug 05 2021 at 00:02)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>
<p>As a reminder this is a change on stable Rust such that <code>nounwind</code> is no longer applied or inferred for <code>extern "C"</code> function pointers, pending the stabilization of the <code>C-unwind</code> ABI itself</p>



<a name="248424381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/248424381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#248424381">(Aug 05 2021 at 00:02)</a>:</h4>
<p>I would consider it pretty unlikely that this entirely flies under the radar</p>



<a name="248425866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/248425866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#248425866">(Aug 05 2021 at 00:26)</a>:</h4>
<p>Has someone drafted some language for the release notes (and marked the PR relnotes) in terms of what the change is meant to do and what users should do (if anything) to prepare for stabilization?</p>
<p>Would be great to get that in a comment on the PR or so.</p>



<a name="248425917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/248425917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#248425917">(Aug 05 2021 at 00:27)</a>:</h4>
<p>I'd be happy to write that up and do so, is the PR itself the best location to place that information?</p>



<a name="248426401"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/248426401" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#248426401">(Aug 05 2021 at 00:36)</a>:</h4>
<p>I think yeah, just a comment and tagging with relnotes should be quite fine</p>



<a name="248426407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/248426407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#248426407">(Aug 05 2021 at 00:36)</a>:</h4>
<p>it'll go into a not-yet-drafted release notes (for 1.56) so it's a ways off that it's actually needed</p>



<a name="248426984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/248426984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#248426984">(Aug 05 2021 at 00:48)</a>:</h4>
<p>ok! I'll leave a comment tomorrow and make sure the tag is there</p>



<a name="248483344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/weekly%20meeting/near/248483344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/weekly.20meeting.html#248483344">(Aug 05 2021 at 14:18)</a>:</h4>
<p>comment written</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>